/* ═══════════════════════════════════════════
   Handset live stream — no GPU image filters
   (480p capture is set in camera.js / config.js)
   ═══════════════════════════════════════════ */

body.platform-handset .smart-dark-overlay,
body.platform-handset .smart-dark-overlay.active,
body.platform-handset .smart-dark-overlay.active::before,
body.platform-handset .smart-dark-overlay.active::after {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
}

body.platform-handset .video-raw-frame video,
body.platform-handset .video-merged-frame video,
body.platform-handset .video-merged-container,
body.platform-handset .video-raw-frame,
body.platform-handset .video-skeleton-frame,
body.platform-handset #outputCanvas {
    filter: none !important;
}

body.platform-handset .video-skeleton-frame.video-merged-frame,
body.platform-handset .video-raw-frame.video-merged-frame {
    box-shadow: none !important;
}

body.platform-handset .video-frame-bottom-chrome,
body.platform-handset .video-frame-bottom-chrome--jump-cta,
body.platform-handset .video-frame-bottom-chrome--jump-session,
body.platform-handset .video-raw-frame-console__shell,
body.platform-handset .frame-label,
body.platform-handset #rawFrameLabel,
body.platform-handset #fpsBadgeOverlay,
body.platform-handset #mobileJumpCountBadge,
body.platform-handset #mobileTestTimeBadge,
body.platform-handset #mpInferenceBadge,
body.platform-handset .video-mobile-tab,
body.platform-handset .chip {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
}

body.platform-handset .video-raw-frame-console__shell {
    background: linear-gradient(
        180deg,
        rgba(6, 10, 22, 0) 0%,
        rgba(6, 10, 22, 0.05) 50%,
        rgba(6, 10, 22, 0.14) 100%
    ) !important;
    box-shadow: none !important;
}

body.platform-handset.video-mobile-setup-in-chrome:has(.video-mobile-setup-dock--open) .video-raw-frame-console__shell {
    background: transparent !important;
}

body.platform-handset .video-frame-bottom-chrome.video-frame-bottom-chrome--jump-cta,
body.platform-handset .video-frame-bottom-chrome.video-frame-bottom-chrome--jump-session {
    background: rgba(8, 12, 24, 0.14) !important;
    box-shadow: none !important;
}

/* ═══════════════════════════════════════════
   Handset UI lite — keep Connect Camera pulse only
   ═══════════════════════════════════════════ */

/* Static page chrome (no full-screen shimmer / blurred orbs) */
body.platform-handset::after {
    animation: none !important;
    opacity: 0.45 !important;
}

body.platform-handset .bg-orbs,
body.platform-handset .orb {
    display: none !important;
}

body.platform-handset .app-header::before {
    animation: none !important;
    opacity: 0.75 !important;
}

body.platform-handset .brand-glow-ring {
    animation: none !important;
    box-shadow: none !important;
}

body.platform-handset .group-test-bar__tag-dot {
    animation: none !important;
}

/* Continue to Test — static highlight (Connect Camera pulse unchanged) */
body.platform-handset.video-mobile-test-gated #videoPanelSetup #btnVideoMobileNext.btn-video-mobile-next--gate:not(:disabled),
body.platform-handset.video-mobile-test-gated.app-mode-reaction #videoPanelSetup #btnVideoMobileNext.btn-video-mobile-next--gate:not(:disabled) {
    animation: none !important;
    box-shadow: 0 0 0 1px rgba(0, 217, 255, 0.22) !important;
}

body.platform-handset.video-mobile-test-gated.app-mode-reaction #videoPanelSetup #btnVideoMobileNext.btn-video-mobile-next--gate:not(:disabled) {
    box-shadow: 0 0 0 1px rgba(255, 140, 90, 0.2) !important;
}

/* Flat toggle — no glow / slow easing */
body.platform-handset .toggle-switch {
    transition: none !important;
    border: 1px solid rgba(148, 163, 184, 0.28);
}

body.platform-handset .toggle-switch::after {
    transition: left 0.1s ease !important;
    box-shadow: none !important;
}

body.platform-handset .toggle-label input:checked + .toggle-switch::after,
body.platform-handset.app-mode-jump .jump-mobile-video-controls .toggle-label input:checked + .toggle-switch::after,
body.platform-handset.app-mode-sidejump .jump-mobile-video-controls .toggle-label input:checked + .toggle-switch::after {
    box-shadow: none !important;
}

/* Native checkboxes on phone */
body.platform-handset .reaction-checkbox-row {
    padding: 8px 10px;
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.14);
}

body.platform-handset .reaction-checkbox-row input[type="checkbox"] {
    appearance: auto;
    -webkit-appearance: checkbox;
    accent-color: var(--primary-cyan);
    width: 18px;
    height: 18px;
    background: none;
    border: none;
    border-radius: 0;
    transition: none !important;
}

body.platform-handset .reaction-checkbox-row input[type="checkbox"]:checked {
    background: none;
    border: none;
}

body.platform-handset .reaction-checkbox-row input[type="checkbox"]:checked::after {
    content: none;
}

/* Live test chrome — drop decorative loops (Connect Camera pulse kept) */
body.platform-handset .btn-connect-dot,
body.platform-handset .btn-connect--loading .btn-connect-dot {
    animation: none !important;
}

body.platform-handset .btn-disconnect-dot {
    animation: none !important;
}

body.platform-handset .chip-dot.active {
    animation: none !important;
    opacity: 1 !important;
}

body.platform-handset .test-countdown-overlay.visible,
body.platform-handset.app-mode-jump .test-countdown-overlay.visible {
    animation: none !important;
}

body.platform-handset .video-merged-frame .video-placeholder .cam-icon,
body.platform-handset .video-merged-frame .video-placeholder .placeholder-icon {
    animation: none !important;
    filter: none !important;
}

body.platform-handset .frame-label-dot.active,
body.platform-handset .overlay-label-fancy .label-live.active {
    animation: none !important;
    opacity: 1 !important;
}

body.platform-handset .jump-status-indicator.status-calibrating .status-dot,
body.platform-handset .jump-status-indicator.status-jumping .status-dot {
    animation: none !important;
}

body.platform-handset.app-mode-reaction.video-mobile-setup-in-chrome #btnVideoMobileReactionEditZones.is-active:not(.is-save-flash) {
    animation: none !important;
}
