
/* Fallbacks para o Chromium 68 do webOS 5 e navegadores sem CSS recente. */
.public-hero-video, .public-hero-overlay, .public-event-image, .public-event-overlay,
.public-player::before, .public-history-cover img { top: 0; right: 0; bottom: 0; left: 0; }
@supports not (width: min(100%, 1280px)) {
    .public-player-inner { width: calc(100% - 40px); max-width: 1280px; }
    .public-hero-container, .public-section-container { width: calc(100% - 60px); max-width: 1280px; }
    .public-history { width: 300px; max-width: calc(100% - 40px); right: 20px; }
    .public-cover-dialog { width: calc(100% - 32px); max-width: 760px; }
    .public-hero h1 { font-size: 64px; }
    .public-section-container h2 { font-size: 48px; }
    .public-event-content h2 { font-size: 28px; }
    .public-sponsor-qr img { width: 160px; max-width: 100%; }
    @media (max-width:760px) {
        .public-hero h1 { font-size: 44px; }
        .public-section-container h2 { font-size: 34px; }
    }
}
@supports not (aspect-ratio: 9 / 16) {
    .public-event-card { padding-top: 177.7778%; }
}
@supports not (backdrop-filter: blur(1px)) {
    .public-history-panel { background: rgba(16,13,24,.96); }
    .public-player::before { background: rgba(16,13,24,.90); }
}
.public-hero-poster { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; opacity: .44; }
.is-webos-tv .public-player-vu { display: none; }
.is-webos-tv .public-player-inner.has-vu { grid-template-columns: 54px 48px minmax(0,1fr) 220px auto; }
.is-webos-tv #mouse-trail-container { display: none; }
.is-webos-tv button:focus, .is-webos-tv a:focus, .is-webos-tv summary:focus, .is-webos-tv input:focus { outline: 3px solid #956cff; outline-offset: 4px; }
.public-preloader { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; background: #080808; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 550ms ease, visibility 550ms ease; }
.network-loading .public-preloader { opacity: 1; visibility: visible; pointer-events: auto; }
.network-loading body { overflow: hidden; }
.public-preloader-stage { position: relative; width: 154px; height: 154px; padding: 10px; }
.public-preloader-stage img { display: block; width: 134px; height: 134px; object-fit: contain; }
.public-preloader-stage::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border: 1px solid rgba(255,255,255,.12); border-top-color: #7d41ff; border-right-color: #956cff; border-radius: 50%; animation: network-loading-spin 1.2s linear infinite; }
@keyframes network-loading-spin { to { transform: rotate(360deg); } }
@media (max-width:760px) {
    .public-history { right: 12px; max-width: calc(100% - 24px); }
    .is-webos-tv .public-player-inner.has-vu { grid-template-columns: 44px 40px minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) { .public-preloader { transition: none; } .public-preloader-stage::before { animation: none; } }
