/* 移动端专用布局样式 - 完全独立于桌面端 */

/* 移动端底部导航样式已移至媒体查询中 */


/* 移动端响应式设计 - 完全独立 */
@media (max-width: 768px) {
    /* 强制隐藏桌面端顶部导航 */
    .top-nav {
        display: none !important;
    }
    
    /* 显示移动端底部导航 */
    .bottom-nav-mobile {
        display: flex !important;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: rgba(10, 14, 22, 0.95);
        backdrop-filter: blur(10px);
        border-top: 1px solid rgba(16, 185, 129, 0.25);
        padding: 0.5rem 0;
        z-index: 100;
        min-height: 60px;
    }
    
    .nav-item-mobile {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 0.5rem 0.4rem;
        text-decoration: none;
        color: #9ca3af;
        font-size: 0.75rem;
        font-weight: 500;
        transition: all 0.2s;
        flex: 1;
        gap: 0.2rem;
        min-height: 50px;
    }

    .nav-item-mobile:hover,
    .nav-item-mobile.active {
        color: #10B981;
    }

    .nav-item-mobile i {
        font-size: 1rem;
        margin-bottom: 0.05rem;
    }

    .nav-item-mobile span {
        font-size: 0.65rem;
        font-weight: 500;
    }
    
    /* 移动端底部导航通用样式 */
    .nav-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.3rem;
        cursor: pointer;
        transition: color 0.3s ease;
        color: #cccccc;
        position: relative;
        padding: 0.5rem;
    }

    .nav-item.active { 
        color: #10B981; 
    }

    .nav-item:hover { 
        color: #34D399; 
    }

    .nav-item i {
        font-size: 1.05rem; /* 图标更小 */
    }

    .nav-item span {
        font-size: 0.75rem; /* 文案更小 - 仅用于移动端底部导航 */
    }
    
    /* 移动端页面标题显示 */
    .page-header.mobile-header {
        display: block !important;
        text-align: center;
        margin: 0.5rem auto 1rem;
        max-width: 820px;
    }
    
    /* 隐藏桌面端Banner */
    .banner-module.desktop-banner {
        display: none !important;
    }
    
    /* 移动端主内容区域布局 */
    .main-content {
        padding: 0.75rem; /* 移动端减小内边距 */
        padding-bottom: 10rem !important; /* 160px 底部安全区域 - 增加距离 */
    }
    
    /* 移动端页面内容区域 */
    .page-content {
        padding-bottom: 10rem !important; /* 160px 底部安全区域 - 增加距离 */
    }
    
    /* 移动端主布局容器 */
    .main-layout {
        flex-direction: column; /* 移动端垂直布局 */
        gap: 1rem;
        padding: 0 .5rem;
        padding-bottom: 10rem !important; /* 160px 底部安全区域 - 增加距离 */
    }
    
    /* 移动端任务处理区容器 */
    .main-operations {
        margin-bottom: 0 !important; /* 移除额外边距，使用父容器padding */
        padding-bottom: 2rem !important; /* 32px 内部缓冲 */
    }
    
    /* 移动端卡片样式 */
    .config-card, .input-card, .output-card, .status-card {
        padding: 1rem; /* 移动端减小卡片内边距 */
        margin-bottom: 1.5rem !important;
    }
    
    /* 移动端生成按钮样式 */
    .generate-btn { 
        padding: 0.85rem 1.25rem; 
        font-size: 1rem; 
        margin-top: 1rem;
        margin-bottom: 2rem !important; /* 32px 额外底部间距 */
        position: relative;
        z-index: 10;
        height: auto; /* 移动端使用自动高度 */
    }
    
    /* 移动端头部调整 */
    .header {
        padding: 0.7rem 0 !important; /* 进一步增加移动端头部高度 */
        min-height: 55px !important; /* 增加最小高度 */
    }
    
    /* 移动端header-content容器优化 */
    .header-content {
        padding: 0 1rem;
        min-height: 40px; /* 设置最小高度 */
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    
    /* 移动端logo优化 */
    .logo {
        font-size: 1.6rem !important; /* 移动端更大 */
        gap: 0.7rem !important; /* 移动端间距更大 */
        padding: 0.3rem 0.6rem !important; /* 移动端内边距更大 */
        flex-shrink: 0; /* 防止logo被压缩 */
    }
    
    .logo-icon {
        width: 2rem !important; /* 移动端图标更大 */
        height: 2rem !important;
        flex-shrink: 0; /* 防止图标被压缩 */
    }
    
    .logo-text {
        font-size: 1.2rem !important; /* 移动端文字适中 */
        letter-spacing: 0.4px !important; /* 移动端字间距 */
        white-space: nowrap; /* 防止文字换行 */
    }
    
    /* 移动端logo悬停效果简化 */
    .logo:hover {
        transform: none; /* 移动端取消上移效果 */
        background: rgba(16, 185, 129, 0.05); /* 移动端悬停背景更淡 */
    }
    
    .logo:hover .logo-icon {
        transform: none; /* 移动端取消缩放效果 */
    }
    
    /* 移动端认证按钮优化 */
    .auth-btn {
        padding: 0.4rem 0.8rem; /* 移动端适中按钮 */
        font-size: 0.9rem; /* 移动端适中字体 */
        border-radius: 8px; /* 移动端适中圆角 */
        flex-shrink: 0; /* 防止按钮被压缩 */
    }
    
    /* 移动端tab容器布局 */
    .tab-container {
        display: flex; /* 使用flex布局 */
        justify-content: space-between; /* 居中分散对齐 */
        align-items: center;
        gap: 0.2rem; /* 移动端更小间距 */
        padding: 0 0.5rem; /* 添加左右内边距 */
    }
    
    .tab {
        flex: 1; /* 平均分配空间 */
        padding: 0.4rem 0.2rem; /* 移动端更紧凑的内边距 */
        min-height: 45px; /* 移动端更小高度 */
        font-size: 0.7rem; /* 移动端更小字体 */
        gap: 0.15rem; /* 减小图标和文字间距 */
        max-width: calc(25% - 0.1rem); /* 限制最大宽度，确保4个tab能放下 */
    }
    
    .tab i {
        font-size: 0.75rem; /* 移动端更小图标 */
    }
    
    .tab span {
        font-size: 0.7rem; /* 确保文字大小一致 */
        line-height: 1.2; /* 紧凑的行高 */
    }
    
    /* 移动端开发中区域优化 */
    .development-section {
        padding: 1.5rem 1rem; /* 移动端减小内边距 */
    }
    
    .development-icon {
        font-size: 2.5rem; /* 移动端更小图标 */
    }
    
    .development-title {
        font-size: 1.3rem; /* 移动端更小标题 */
    }
    
    .development-desc {
        font-size: 0.9rem; /* 移动端更小描述 */
    }
    
    .development-progress {
        max-width: 250px; /* 移动端更小进度条 */
    }
    
    /* 移动端提示词输入区域 */
    .prompt-wrapper { 
        flex-direction: column; 
    }
    
    .prompt-side { 
        width: 100%; 
    }
    
    .prompt-controls { 
        top: 6px; 
        right: 6px; 
    }
    
    .prompt-controls .field-clear-btn { 
        width: 22px; 
        height: 22px; 
        font-size: 12px; 
    }
    
    .prompt-textarea-wrap.has-clear .prompt-textarea { 
        padding-right: 36px; 
    }
    
    /* 移动端：提示词文本区域基础样式 */
    .prompt-textarea { 
        padding: 0.9rem; 
        padding-right: 100px; /* 为浮动按钮留出空间 */
        overflow-y: auto; /* 超出时显示滚动条 */
        
        /* 移动端滚动条样式 */
        scrollbar-width: thin;
        scrollbar-color: rgba(16, 185, 129, 0.3) rgba(255, 255, 255, 0.1);
    }
    
    /* 移动端不同模式的提示词框高度适配 */
    
    /* 图像编辑模式 - 移动端适中高度 */
    .prompt-textarea[data-mode="image_edit"] {
        min-height: 90px;
        max-height: 160px;
    }
    
    /* 文生图模式 - 移动端较大高度 */
    .prompt-textarea[data-mode="text_to_image"] {
        min-height: 110px;
        max-height: 200px;
    }
    
    /* 图生视频模式 - 移动端最大高度 */
    .prompt-textarea[data-mode="image_to_video"] {
        min-height: 120px;
        max-height: 220px;
    }
    
    /* AI数字人模式 - 移动端最大高度 */
    .prompt-textarea[data-mode="digital_human"] {
        min-height: 120px;
        max-height: 220px;
    }
    
    /* 默认模式（兼容性） */
    .prompt-textarea:not([data-mode]) {
        min-height: 110px;
        max-height: 180px;
    }
    
    /* 浮动跟随式生成按钮 - 移动端 */
    .prompt-textarea-wrap {
        position: relative;
    }
    
    .generate-btn-floating {
        position: absolute;
        bottom: 0.6rem;
        right: 0.6rem;
        opacity: 0;
        transform: translateY(10px);
        transition: all 0.3s ease;
        z-index: 10;
        background: linear-gradient(135deg, #10B981, #059669);
        border: none;
        border-radius: 6px;
        color: white;
        padding: 0.4rem 0.8rem;
        font-size: 0.75rem;
        font-weight: 600;
        cursor: pointer;
        box-shadow: 0 2px 6px rgba(16, 185, 129, 0.3);
        display: flex;
        align-items: center;
        gap: 0.2rem;
        /* 移动端优化 */
        min-width: 80px;
        text-align: center;
        /* 确保按钮不会太小，便于触摸操作 */
        min-height: 36px;
        /* 确保按钮在文本区域内有足够空间显示 */
        max-width: calc(100% - 1.2rem);
    }
    
    /* 当用户开始输入时显示按钮 */
    .prompt-textarea:focus + .prompt-controls + .generate-btn-floating,
    .prompt-textarea:not(:placeholder-shown) + .prompt-controls + .generate-btn-floating {
        opacity: 1;
        transform: translateY(0);
    }
    
    /* 移动端首次显示时的引导动画 */
    .generate-btn-floating.show-hint {
        animation: buttonHintMobile 0.5s ease-out;
    }
    
    @keyframes buttonHintMobile {
        0% {
            opacity: 0;
            transform: translateY(10px) scale(0.9);
        }
        50% {
            opacity: 1;
            transform: translateY(-1px) scale(1.02);
        }
        100% {
            opacity: 1;
            transform: translateY(0) scale(1);
        }
    }
    
    .generate-btn-floating:hover {
        background: linear-gradient(135deg, #059669, #047857);
        transform: translateY(-1px);
        box-shadow: 0 3px 8px rgba(16, 185, 129, 0.4);
    }
    
    .generate-btn-floating:active {
        transform: translateY(0);
    }
    
    /* 移动端提示词文本区域滚动条样式 */
    .prompt-textarea::-webkit-scrollbar {
        width: 4px; /* 移动端更细的滚动条 */
    }
    
    .prompt-textarea::-webkit-scrollbar-track {
        background: rgba(255, 255, 255, 0.1);
        border-radius: 2px;
    }
    
    .prompt-textarea::-webkit-scrollbar-thumb {
        background: rgba(16, 185, 129, 0.4);
        border-radius: 2px;
        transition: background 0.2s ease;
    }
    
    .prompt-textarea::-webkit-scrollbar-thumb:hover {
        background: rgba(16, 185, 129, 0.6);
    }
    
    /* 移动端上传区域 */
    .desktop-upload-grid {
        display: none !important;
    }
    
    .mobile-upload-section {
        display: flex !important;
        flex-direction: column;
        gap: 0.8rem;
    }
    
    .mobile-slots-row {
        display: flex;
        gap: 0.2rem; /* 减小间距，为占位框留出更多空间 */
        width: 100%;
        justify-content: space-between;
        padding: 0;
        flex: 3; /* 占据3倍空间，为主要空间 */
        box-sizing: border-box;
    }
    
    .mobile-upload-area {
        width: 100%;
        min-height: 60px; /* 减小高度，添加框变小 */
        padding: 0.8rem;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: row; /* 改回水平布局，节省空间 */
        gap: 0.6rem;
        aspect-ratio: unset;
        border: 2px dashed rgba(16, 185, 129, 0.4);
        border-radius: 8px; /* 减小圆角 */
        background: rgba(16, 185, 129, 0.03);
        cursor: pointer;
        transition: all 0.3s ease;
        flex: 1; /* 占据1倍空间 */
    }
    
    .mobile-upload-area:hover {
        border-color: #10B981;
        background: rgba(16, 185, 129, 0.08);
        transform: translateY(-1px);
    }
    
    .mobile-upload-area i {
        font-size: 1.2rem;
        margin-bottom: 0;
        color: #10B981;
    }
    
    .mobile-upload-area p {
        font-size: 0.85rem;
        margin-bottom: 0;
        color: #e5e7eb;
        font-weight: 500;
    }
    
    .mobile-upload-hint {
        font-size: 0.65rem;
        margin-top: 0.2rem;
        color: #9ca3af;
    }
    
    .mobile-upload-slot {
        flex: 1;
        aspect-ratio: 1; /* 确保正方形 */
        border: 2px dashed rgba(255, 255, 255, 0.08);
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.01);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: all 0.3s ease;
        position: relative;
        flex-shrink: 0;
        box-sizing: border-box;
        min-width: 0; /* 允许收缩 */
        max-width: calc(25% - 0.15rem); /* 确保四个框能放下 */
    }
    
    .mobile-upload-slot.occupied {
        border-color: rgba(16, 185, 129, 0.3);
        background: rgba(16, 185, 129, 0.03);
        border-style: solid;
    }
    
    .mobile-upload-slot img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 10px;
    }
    
    .mobile-upload-slot .remove-image {
        font-size: 0.8rem;
        padding: 0.2rem 0.4rem;
        position: absolute;
        top: 4px;
        right: 4px;
        background: rgba(239, 68, 68, 0.9);
        color: white;
        border: none;
        border-radius: 4px;
        cursor: pointer;
        opacity: 0;
        transition: all 0.2s ease;
    }
    
    .mobile-upload-slot:hover .remove-image {
        opacity: 1;
    }
    
    /* 移动端历史记录页面 */
    .history-content {
        padding-bottom: 10rem !important; /* 160px 底部安全区域 - 增加距离 */
    }
    
    /* 移动端个人中心页面 */
    .profile-page {
        padding-bottom: 10rem !important; /* 160px 底部安全区域 - 增加距离 */
    }
}

/* 超小屏幕设备优化 */
@media (max-width: 480px) {
    /* 超小屏幕头部优化 */
    .header {
        padding: 0.5rem 0; /* 超小屏幕适中头部高度 */
        min-height: 45px; /* 超小屏幕最小高度 */
    }
    
    .header-content {
        padding: 0 0.8rem; /* 超小屏幕减少左右内边距 */
        min-height: 35px; /* 超小屏幕最小高度 */
    }
    
    /* 超小屏幕logo优化 */
    .logo {
        font-size: 1.5rem !important; /* 超小屏幕更大 */
        gap: 0.6rem !important; /* 超小屏幕更大间距 */
        padding: 0.25rem 0.5rem !important; /* 超小屏幕更大内边距 */
    }
    
    .logo-icon {
        width: 1.8rem !important; /* 超小屏幕更大图标 */
        height: 1.8rem !important;
    }
    
    .logo-text {
        font-size: 1.1rem !important; /* 超小屏幕适中文字 */
        letter-spacing: 0.3px !important; /* 超小屏幕字间距 */
    }
    
    /* 超小屏幕认证按钮优化 */
    .auth-btn {
        padding: 0.35rem 0.7rem; /* 超小屏幕适中按钮 */
        font-size: 0.85rem; /* 超小屏幕适中字体 */
        border-radius: 6px; /* 超小屏幕适中圆角 */
    }
    
    /* 超小屏幕tab布局优化 */
    .tab-container {
        display: flex; /* 保持flex布局 */
        justify-content: space-between; /* 保持居中分散对齐 */
        gap: 0.1rem; /* 超小屏幕更小间距 */
        padding: 0 0.3rem; /* 减少左右内边距 */
    }
    
    .tab {
        flex: 1; /* 平均分配空间 */
        padding: 0.3rem 0.1rem; /* 超小屏幕更紧凑内边距 */
        min-height: 40px; /* 超小屏幕更小高度 */
        font-size: 0.65rem; /* 超小屏幕更小字体 */
        max-width: calc(25% - 0.05rem); /* 超小屏幕限制最大宽度 */
    }
    
    .tab i {
        font-size: 0.7rem; /* 超小屏幕更小图标 */
    }
    
    .tab span {
        font-size: 0.65rem; /* 超小屏幕更小文字 */
        line-height: 1.1; /* 更紧凑的行高 */
    }
}

/* 桌面端保持原有设计 - 确保移动端样式不影响桌面端 */
@media (min-width: 769px) {
    .bottom-nav-mobile {
        display: none;
    }
    
    .top-nav {
        display: flex;
    }
    
    .page-header.mobile-header {
        display: none !important;
    }
    
    .banner-module.desktop-banner {
        display: flex !important;
    }
}
