/**
 * Android WebView Fixes
 * Specific CSS fixes for Android WebView
 */

/* Fix per tastiera Android */
body.keyboard-open {
    position: fixed !important;
    width: 100% !important;
    height: 100% !important;
}

/* Fix select su Android */
select {
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='%2300f2ff' d='M7 10l5 5 5-5z'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 24px !important;
}

/* Smooth scrolling */
html {
    -webkit-overflow-scrolling: touch;
}

/* Remove input shadows on Android */
input, textarea, select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

/* Fix for date/time inputs */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator {
    filter: invert(1);
}

/* Fix scroll bounce */
body {
    overscroll-behavior: none;
}

/* Safe area insets for modern Android */
.safe-area-inset-top {
    padding-top: env(safe-area-inset-top);
}

.safe-area-inset-bottom {
    padding-bottom: env(safe-area-inset-bottom);
}

/* Fix for Android WebView black square glitches */
.modal, .modal-content, .cyberpunk-card, .chat-window, input, textarea {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    perspective: 1000;
}

/* Disable blur effects when keyboard is open to prevent heavy repaints (black boxes) */
body.keyboard-open * {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Ensure background doesn't tear */
html, body {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    background-color: #050505;
}

/* Task 16: Fix black squares during keyboard/input interaction */
/* Force compositing layer on all inputs, textareas, and chat areas
   to prevent GPU repaint glitches in Android WebView */
input, textarea {
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
    will-change: transform !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    isolation: isolate;
}

/* Chat messages area + TV chat messages area */
.chat-messages,
.tv-chat-messages-box,
#chat-messages,
#tv-chat-messages {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    isolation: isolate;
    contain: layout paint;
}

/* Chat input containers */
.chat-input-container,
.tv-chat-input-row {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    isolation: isolate;
}

/* Prevent blur filter from causing black repaints during scroll */
.modal-content,
.tv-modal-content,
.cyberpunk-card {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    will-change: transform;
    /* Only apply backdrop-filter when keyboard is NOT open */
}

/* When keyboard is open: remove ALL backdrop-filter (main cause of black squares) */
body.keyboard-open .modal-content,
body.keyboard-open .tv-modal-content,
body.keyboard-open .cyberpunk-card,
body.keyboard-open .tv-channels-drawer-inner,
body.keyboard-open input,
body.keyboard-open textarea {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}