/* 自定义CSS样式 */ :root { /* 主色调 */ --color-primary: #4A6FE3; /* 活力蓝 */ --color-secondary-orange: #FF9500; /* 温暖橙 */ --color-secondary-green: #2DCE89; /* 轻松绿 */ /* 中性色 */ --color-gray-100: #F8F9FA; --color-gray-200: #E9ECEF; --color-gray-300: #DEE2E6; --color-gray-500: #6C757D; --color-gray-800: #343A40; /* 功能色 */ --color-success: #28A745; --color-danger: #DC3545; --color-warning: #FFC107; /* 字体 */ --font-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; } /* 设备屏幕样式 */ .iphone-frame { width: 100%; height: 100%; position: relative; overflow: hidden; background-color: white; display: flex; flex-direction: column; } /* iOS状态栏样式 */ .ios-status-bar { height: 44px; padding: 0 16px; display: flex; justify-content: space-between; align-items: center; font-size: 14px; font-weight: 600; background-color: white; color: #000; position: relative; } .ios-status-bar .time { position: absolute; left: 50%; transform: translateX(-50%); } .ios-status-bar .right { display: flex; align-items: center; } .ios-status-bar .right .signal, .ios-status-bar .right .wifi, .ios-status-bar .right .battery { margin-left: 6px; } /* 底部Tab Bar样式 */ .ios-tab-bar { height: 83px; background-color: rgba(255, 255, 255, 0.95); border-top: 1px solid var(--color-gray-200); display: flex; justify-content: space-around; padding-bottom: 25px; /* 适应底部安全区域 */ } .ios-tab-bar .tab-item { display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 10px; color: var(--color-gray-500); width: 25%; padding-top: 8px; } .ios-tab-bar .tab-item.active { color: var(--color-primary); } .ios-tab-bar .tab-item i { font-size: 22px; margin-bottom: 2px; } /* 内容区域 */ .app-content { flex: 1; overflow-y: auto; background-color: #F8F9FA; position: relative; } /* 卡片样式 */ .app-card { background-color: white; border-radius: 10px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); margin-bottom: 16px; overflow: hidden; } /* 按钮样式 */ .app-button { display: flex; align-items: center; justify-content: center; height: 40px; padding: 0 15px; border-radius: 5px; font-size: 16px; font-weight: 500; cursor: pointer; transition: all 0.2s ease; } .app-button.primary { background-color: var(--color-primary); color: white; } .app-button.secondary { background-color: var(--color-secondary-orange); color: white; } .app-button.green { background-color: var(--color-secondary-green); color: white; } .app-button.outline { border: 1px solid var(--color-primary); color: var(--color-primary); background-color: transparent; } /* 输入框样式 */ .app-input { height: 40px; border-radius: 5px; border: 1px solid var(--color-gray-300); padding: 0 10px; font-size: 14px; width: 100%; outline: none; } .app-input:focus { border-color: var(--color-primary); } /* 导航栏样式 */ .app-navbar { height: 44px; display: flex; align-items: center; justify-content: center; position: relative; border-bottom: 1px solid var(--color-gray-200); background-color: white; } .app-navbar .title { font-size: 18px; font-weight: 600; } .app-navbar .left-button, .app-navbar .right-button { position: absolute; font-size: 16px; display: flex; align-items: center; } .app-navbar .left-button { left: 16px; } .app-navbar .right-button { right: 16px; } /* 标签导航 */ .app-tabs { display: flex; border-bottom: 1px solid var(--color-gray-200); background-color: white; } .app-tabs .tab { flex: 1; height: 40px; display: flex; align-items: center; justify-content: center; font-size: 14px; color: var(--color-gray-500); position: relative; } .app-tabs .tab.active { color: var(--color-primary); font-weight: 500; } .app-tabs .tab.active:after { content: ""; position: absolute; bottom: 0; left: 25%; width: 50%; height: 2px; background-color: var(--color-primary); } /* 游戏卡片样式 */ .game-card { background-color: white; border-radius: 10px; overflow: hidden; margin-bottom: 16px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); } .game-card-image { width: 100%; height: 140px; background-size: cover; background-position: center; } .game-card-content { padding: 12px; } .game-card-title { font-size: 16px; font-weight: 600; margin-bottom: 6px; } .game-card-info { display: flex; font-size: 12px; color: var(--color-gray-500); } .game-card-badge { font-size: 10px; padding: 2px 6px; border-radius: 3px; margin-right: 6px; } /* 玩家头像样式 */ .player-avatar { width: 40px; height: 40px; border-radius: 50%; overflow: hidden; background-color: var(--color-gray-200); } .player-avatar img { width: 100%; height: 100%; object-fit: cover; } /* 海龟汤游戏样式 */ .turtle-soup-card { background-color: var(--color-gray-100); border-radius: 10px; padding: 16px; margin-bottom: 16px; } .turtle-soup-title { font-size: 18px; font-weight: 600; margin-bottom: 12px; } .turtle-soup-content { font-size: 14px; line-height: 1.5; margin-bottom: 16px; } .turtle-soup-clues { margin-top: 16px; } .turtle-soup-clue { background-color: white; border-radius: 6px; padding: 10px; margin-bottom: 8px; font-size: 13px; border-left: 3px solid var(--color-primary); } /* 对话气泡样式 */ .chat-container { padding: 10px; } .chat-bubble { max-width: 80%; margin-bottom: 10px; padding: 10px 12px; border-radius: 18px; position: relative; font-size: 14px; line-height: 1.4; } .chat-bubble.left { border-bottom-left-radius: 4px; background-color: var(--color-gray-200); color: black; align-self: flex-start; margin-right: auto; } .chat-bubble.right { border-bottom-right-radius: 4px; background-color: var(--color-primary); color: white; align-self: flex-end; margin-left: auto; } /* 房间代码样式 */ .room-code { font-size: 24px; font-weight: 700; letter-spacing: 5px; text-align: center; margin: 24px 0; color: var(--color-primary); } /* 动画效果 */ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .fade-in { animation: fadeIn 0.3s ease; } /* 付费功能卡片样式 */ .premium-card { background-color: white; border-radius: 10px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); overflow: hidden; margin-bottom: 16px; border: 2px solid var(--color-secondary-orange); } .premium-header { background-color: var(--color-secondary-orange); color: white; padding: 10px; font-weight: 600; text-align: center; } .premium-content { padding: 12px; } .premium-price { font-size: 18px; font-weight: 700; color: var(--color-secondary-orange); text-align: right; margin-top: 8px; } /* 进度条样式 */ .progress-bar { height: 6px; border-radius: 3px; background-color: var(--color-gray-200); overflow: hidden; margin: 12px 0; } .progress-bar .progress { height: 100%; background-color: var(--color-primary); transition: width 0.3s ease; } /* 通用间距 */ .app-padding { padding: 16px; } /* 全屏覆盖层 */ .overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; z-index: 1000; } /* 模态框样式 */ .modal { background-color: white; border-radius: 15px; width: 80%; max-width: 320px; padding: 20px; animation: fadeIn 0.2s ease; } .modal-title { font-size: 18px; font-weight: 600; margin-bottom: 12px; text-align: center; } .modal-content { margin-bottom: 16px; } .modal-actions { display: flex; justify-content: space-between; }