/* v403: owner-requested edge-to-edge cover, UI overlays, no navigation panels. */
html:root body[data-page="loopz"] { --loopz-shell-height:100dvh !important; }
html:root body[data-page="loopz"] :is(.app-shell,.content,#app-root,.spa-view,.loopz-cinema,.loopz-view,.loopz-item) {
    height:100dvh !important; min-height:0 !important; max-height:100dvh !important;
    box-sizing:border-box; padding:0 !important; border:0 !important; border-radius:0 !important;
}
html:root body[data-page="loopz"] .content,
html.sidebar-collapsed body[data-page="loopz"] .content { margin:0 !important; width:100% !important; min-width:0 !important; max-width:100% !important; }
body[data-page="loopz"] [data-loopz-return-v228] { display:none !important; }
body[data-page="loopz"] .loopz-item { --loopz-rail-width:64px; --loopz-rail-inset:max(16px,env(safe-area-inset-right,0px)); --loopz-nav-reserve:0px; }
html:root body[data-page="loopz"] .loopz-item .loopz-media-stage { width:100% !important; height:100% !important; max-width:none !important; max-height:none !important; }
html:root body[data-page="loopz"] .slider-track > .loopz-media-stage { position:relative !important; flex:0 0 100% !important; }
html:root body[data-page="loopz"] .loopz-item .loopz-media-stage .loopz-media-primary-frame {
    position:absolute !important; inset:0 !important; width:100% !important; height:100% !important;
    min-width:0 !important; min-height:0 !important; max-width:none !important; max-height:none !important;
    padding:0 !important; margin:0 !important; border:0 !important; border-radius:0 !important; transform:none !important;
}
html:root body[data-page="loopz"] .loopz-item .loopz-media-stage.loopz-media-layer .loopz-media-primary-frame > :is(img,.video-shell:not(:fullscreen)),
html:root body[data-page="loopz"] .loopz-item .loopz-media-stage.loopz-media-layer .loopz-media-primary-frame .video-shell > video {
    width:100% !important; height:100% !important; min-width:0 !important; min-height:0 !important;
    max-width:none !important; max-height:none !important; aspect-ratio:auto !important;
    margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important;
    object-fit:contain !important; object-position:center !important;
}
body[data-page="loopz"] .loopz-media-backdrop { display:none !important; }
body[data-page="loopz"] .loopz-item::before,
body[data-page="loopz"] .loopz-item::after { display:none !important; }
html:root body[data-page="loopz"] .loopz-media-stage::after {
    content:""; position:absolute; inset:0; z-index:4; pointer-events:none;
    background:linear-gradient(180deg,rgba(0,0,0,.28),transparent),linear-gradient(0deg,rgba(0,0,0,.40),transparent) !important;
    background-size:100% min(160px,24%),100% min(320px,42%) !important;
    background-position:top,bottom !important;
    background-repeat:no-repeat !important;
}
html:root body[data-page="loopz"] .loopz-top-overlay {
    background:transparent !important; background-image:none !important; box-shadow:none !important;
    backdrop-filter:none !important; -webkit-backdrop-filter:none !important; border:0 !important;
}
html:root body[data-page="loopz"] .loopz-tabs,
html:root body[data-page="loopz"] .loopz-tabs button {
    background:transparent !important; box-shadow:none !important; backdrop-filter:none !important;
    color:#fff !important; text-shadow:0 1px 3px rgba(0,0,0,.8); border-color:transparent !important;
}
html:root body[data-page="loopz"] .loopz-tabs button.active { border-bottom:2px solid #fff !important; border-radius:0 !important; }
html:root body[data-page="loopz"] > nav.bottom-nav.mobile-dock.mobile-bottom-nav,
html.pwa-standalone body[data-page="loopz"] > nav.bottom-nav.mobile-dock.mobile-bottom-nav {
    left:0 !important; right:0 !important; bottom:0 !important; width:100% !important;
    height:calc(60px + var(--pwa-safe-bottom,env(safe-area-inset-bottom,0px))) !important;
    min-height:calc(60px + var(--pwa-safe-bottom,env(safe-area-inset-bottom,0px))) !important;
    padding:5px max(8px,env(safe-area-inset-right,0px)) calc(6px + var(--pwa-safe-bottom,env(safe-area-inset-bottom,0px))) max(8px,env(safe-area-inset-left,0px)) !important;
    background:transparent !important; background-image:none !important; box-shadow:none !important;
    border:0 !important; border-radius:0 !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
    transform:none !important; color:#fff !important;
}
html:root body[data-page="loopz"] > nav.bottom-nav.mobile-dock.mobile-bottom-nav > a {
    background:transparent !important; color:#fff !important; box-shadow:none !important;
    text-shadow:0 1px 3px rgba(0,0,0,.85);
}
body[data-page="loopz"] .loopz-actions {
    position: absolute !important;
    inset-inline: auto !important;
    left: auto !important;
    right: var(--loopz-rail-inset) !important;
    top: auto !important;
    bottom: max(16px, env(safe-area-inset-bottom, 0px)) !important;
    width: var(--loopz-rail-width) !important;
    max-width: var(--loopz-rail-width) !important;
    height: auto !important;
    max-height: calc(100% - 80px) !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    overflow: visible !important;
    transform: none !important;
    box-sizing: border-box;
}
body[data-page="loopz"] .loopz-actions > button {
    box-sizing: border-box;
    flex: 0 0 auto !important;
    width: var(--loopz-rail-width) !important;
    min-width: 44px !important;
    min-height: 48px !important;
    height: 48px !important;
    max-height: none !important;
    padding: 1px 2px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    line-height: 1 !important;
    overflow: visible !important;
}
body[data-page="loopz"] .loopz-actions > .loopz-follow-btn {
    width: 56px !important;
    min-height: 44px !important;
    height: 44px !important;
    max-height: 44px !important;
}
body[data-page="loopz"] .loopz-actions .loopz-creator-avatar {
    flex: 0 0 auto !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
}
body[data-page="loopz"] .loopz-actions > button > span > svg {
    width: 26px !important;
    height: 26px !important;
    flex: 0 0 26px !important;
}
body[data-page="loopz"] .loopz-actions [data-count-for] {
    display: block !important;
    flex: 0 0 auto !important;
    max-width: 100% !important;
    min-height: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    line-height: 17px !important;
    text-align: center !important;
    white-space: nowrap !important;
    color: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: 0 1px 3px #000;
}

html:root body[data-page="loopz"] .loopz-actions { bottom:calc(var(--loopz-nav-reserve) + 16px) !important; }
html:root body[data-page="loopz"] .loopz-meta,
html:root body[data-page="loopz"] .loopz-item.loopz-has-seek .loopz-meta {
    left:max(16px,env(safe-area-inset-left,0px)) !important;
    right:calc(var(--loopz-rail-inset) + var(--loopz-rail-width) + 16px) !important;
    bottom:calc(var(--loopz-nav-reserve) + 64px) !important;
    width:auto !important; max-width:560px !important; max-height:152px !important;
}
html:root body[data-page="loopz"] .loopz-seek-control {
    left:max(16px,env(safe-area-inset-left,0px)) !important;
    right:calc(var(--loopz-rail-inset) + var(--loopz-rail-width) + 12px) !important;
    bottom:calc(var(--loopz-nav-reserve) + 4px) !important;
}
body[data-page="loopz"] .loopz-gesture-hint-v206 {
    top:calc(82px + env(safe-area-inset-top,0px)) !important; bottom:auto !important;
    background:rgba(0,0,0,.15) !important; box-shadow:none !important; pointer-events:none !important;
}
@media (max-width:768px), (max-width:1024px) and (max-height:600px) and (pointer:coarse) {
    html:root body[data-page="loopz"] > nav.bottom-nav.mobile-dock.mobile-bottom-nav { position:fixed !important; display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important; align-items:center !important; z-index:1200 !important; }
    body[data-page="loopz"] .loopz-item { --loopz-nav-reserve:calc(60px + var(--pwa-safe-bottom,env(safe-area-inset-bottom,0px))); --loopz-rail-width:58px; --loopz-rail-inset:max(10px,env(safe-area-inset-right,0px)); }
    body[data-page="loopz"] .loopz-actions { gap:2px !important; }
}
@media (max-height:640px) { body[data-page="loopz"] .loopz-gesture-hint-v206 { display:none !important; } }
@media (max-height:500px) {
    body[data-page="loopz"] .loopz-item { --loopz-rail-width:54px; }
    body[data-page="loopz"] .loopz-actions { display:grid !important; grid-template-columns:repeat(2,54px) !important; width:112px !important; max-width:112px !important; gap:4px !important; justify-items:center !important; }
    html:root body[data-page="loopz"] .loopz-meta,
    html:root body[data-page="loopz"] .loopz-item.loopz-has-seek .loopz-meta,
    html:root body[data-page="loopz"] .loopz-seek-control { right:calc(var(--loopz-rail-inset) + 128px) !important; }
    html:root body[data-page="loopz"] .loopz-meta,
    html:root body[data-page="loopz"] .loopz-item.loopz-has-seek .loopz-meta { max-height:76px !important; }
    body[data-page="loopz"] .loopz-actions .loopz-creator-avatar { width:48px !important; height:48px !important; }
    body[data-page="loopz"] .loopz-actions > .loopz-follow-btn { width:52px !important; }
}

/* Adaptive v405: cover only decoded near-9:16; contain is the safe default. */
html:root body[data-page="loopz"] .loopz-item .loopz-media-stage { background-color:#000 !important; }
html:root body[data-page="loopz"] .loopz-item .loopz-media-stage.loopz-media-layer[data-loopz-fit="cover"] .loopz-media-primary-frame > :is(img,.video-shell:not(:fullscreen)),
html:root body[data-page="loopz"] .loopz-item .loopz-media-stage.loopz-media-layer[data-loopz-fit="cover"] .loopz-media-primary-frame .video-shell > video { object-fit:cover !important; }
