/* ========================================================================
   🚨 强制红包系统沙盒约束（紧急修复补丁）
   说明：此文件必须在所有其他CSS之后加载，以确保规则优先级最高
   ======================================================================== */

/* 强制手机壳和容器作为绝对定位参照系 */
.phone-frame, 
.iphone-frame, 
#app,
.phone-container {
    position: relative !important;
    overflow: hidden !important;
    transform: translateZ(0) !important; /* 🔥 黑魔法：创建层叠上下文，彻底锁住 fixed 元素 */
    will-change: transform !important; /* 性能优化 */
}

/* 强制所有红包相关的弹窗、遮罩、详情页被锁死在手机壳内 */
.modal-overlay, 
#modal-rp-open,
#modal-send-rp,
#rp-details-view,
.red-packet-detail-modal, 
.red-packet-modal,
[class*="modal-mask"],
.packet-modal-mask,
.player-modal,
.reader-overlay {
    position: absolute !important; /* 严禁使用 fixed */
    top: 0 !important; 
    left: 0 !important; 
    right: 0 !important; 
    bottom: 0 !important;
    width: 100% !important; 
    height: 100% !important;
    margin: 0 !important;
    z-index: 9999 !important;
    display: none !important; /* 🔧 默认隐藏所有弹窗 */
    pointer-events: none !important;
}

/* 🔧 显示状态时才激活 */
.modal-overlay.active,
.modal-overlay.show,
#modal-rp-open.active,
#modal-send-rp.active,
#rp-details-view.active,
#rp-details-view.show,
.red-packet-detail-modal.active,
.red-packet-modal.active,
.packet-modal-mask.show,
.player-modal.active,
.reader-overlay.active,
.modal-mask.show {
    display: flex !important;
    pointer-events: auto !important;
}

/* 定位面板单独处理 */
.loc-panel {
    position: absolute !important;
    top: 0 !important; 
    left: 0 !important; 
    right: 0 !important; 
    bottom: 0 !important;
    width: 100% !important; 
    height: 100% !important;
    margin: 0 !important;
    z-index: 9999 !important;
    pointer-events: none !important;
    display: none !important; /* 🔧 默认隐藏 */
}

.loc-panel.open {
    display: flex !important; /* 🔧 打开时显示 */
    pointer-events: auto !important;
}

/* 强制所有全屏遮罩层使用 absolute */
[class*="overlay"]:not(.avatar-menu-overlay):not(.all-characters-modal-overlay):not(.group-chat-selector-overlay) {
    position: absolute !important;
}

/* 确保红包气泡可点击 */
.rp-bubble,
.hb-bubble {
    cursor: pointer !important;
    pointer-events: auto !important;
}
