.game-page { min-height: 100vh; background: #f7f4ec; } .game-head { padding: 34rpx 34rpx 46rpx; color: #fff; } .seeker-head { background: #183f31; } .hider-head { background: #914a22; } .live-pill, .safe-state { display: flex; align-items: center; gap: 10rpx; color: rgba(255, 255, 255, 0.75); font-size: 22rpx; } .live-pill { padding: 10rpx 16rpx; background: rgba(255, 255, 255, 0.1); border-radius: 99rpx; } .live-dot { width: 12rpx; height: 12rpx; background: #d9ef72; border-radius: 50%; } .role-label { margin-top: 38rpx; color: rgba(255, 255, 255, 0.6); font-size: 22rpx; font-weight: 700; } .role-name { margin-top: 7rpx; font-size: 58rpx; font-weight: 900; } .role-task { width: 75%; margin-top: 12rpx; color: rgba(255, 255, 255, 0.72); font-size: 24rpx; line-height: 1.55; } .countdown { margin-top: 34rpx; color: #d9ef72; font-size: 90rpx; font-weight: 900; letter-spacing: 4rpx; } .game-content { padding-top: 0; } .stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14rpx; margin-top: -24rpx; } .stat-card { padding: 24rpx 12rpx; background: #fffdf7; border-radius: 22rpx; box-shadow: 0 10rpx 30rpx rgba(35, 46, 40, 0.07); text-align: center; } .stat-value { font-size: 33rpx; font-weight: 900; } .stat-label { margin-top: 7rpx; color: #7c8580; font-size: 19rpx; } .preparing-card { margin-top: 32rpx; padding: 48rpx 32rpx; background: #fffdf7; border-radius: 30rpx; text-align: center; } .preparing-icon { color: #ef8f4a; font-size: 90rpx; } .preparing-copy { margin-top: 16rpx; color: #68726c; font-size: 25rpx; line-height: 1.65; } .skill-card { display: flex; align-items: center; gap: 18rpx; padding: 24rpx; background: #fffdf7; border-radius: 26rpx; } .skill-icon { display: flex; align-items: center; justify-content: center; width: 72rpx; height: 72rpx; background: #d9ef72; border-radius: 22rpx; font-size: 36rpx; } .skill-main { flex: 1; } .skill-copy { margin-top: 7rpx; color: #68726c; font-size: 21rpx; line-height: 1.45; } .skill-button { width: 120rpx; height: 64rpx; margin: 0; background: #1d6b4f; color: #fff; font-size: 23rpx; } .skill-button.used { background: #dfe4e0; color: #7c8580; } .capture-card, .token-card { padding: 28rpx; background: #183f31; border-radius: 28rpx; color: #fff; } .capture-title { font-size: 29rpx; font-weight: 800; } .capture-copy, .token-note { margin-top: 9rpx; color: rgba(255, 255, 255, 0.62); font-size: 21rpx; line-height: 1.5; } .target-list { display: flex; flex-wrap: wrap; gap: 12rpx; margin-top: 20rpx; } .target-chip { padding: 12rpx 20rpx; border: 2rpx solid rgba(255, 255, 255, 0.24); border-radius: 99rpx; color: rgba(255, 255, 255, 0.72); font-size: 22rpx; } .target-chip.selected { background: #d9ef72; border-color: #d9ef72; color: #17231d; font-weight: 800; } .player-finished-card { margin-top: 32rpx; } .capture-card input { height: 120rpx; margin-top: 24rpx; background: rgba(255, 255, 255, 0.1); border-radius: 20rpx; color: #d9ef72; font-size: 60rpx; font-weight: 900; letter-spacing: 24rpx; text-align: center; } .demo-code { padding: 18rpx 0; color: #d9ef72; font-size: 22rpx; text-align: center; } .capture-button { height: 80rpx; font-size: 26rpx; } .token-card { text-align: center; } .token-label { color: rgba(255, 255, 255, 0.7); font-size: 23rpx; } .token-code { margin: 20rpx 0; color: #d9ef72; font-size: 74rpx; font-weight: 900; letter-spacing: 18rpx; } .event-list { overflow: hidden; background: #fffdf7; border-radius: 26rpx; } .event-row { display: flex; align-items: center; gap: 16rpx; padding: 22rpx 24rpx; border-bottom: 2rpx solid rgba(23, 35, 29, 0.07); } .event-row:last-child { border-bottom: none; } .event-mark { width: 14rpx; height: 14rpx; background: #7c8580; border-radius: 50%; } .event-mark.clue { background: #ef8f4a; } .event-mark.skill { background: #1d6b4f; } .event-mark.capture { background: #d9554d; } .event-message { flex: 1; font-size: 23rpx; } .event-time { color: #939b96; font-size: 20rpx; } .safety-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 16rpx; margin-top: 32rpx; } .safety-actions button { width: 100%; padding: 0; font-size: 23rpx; } .safety-actions button:nth-child(3) { grid-column: 1 / -1; } @media (max-width: 340px) { .role-task { width: 100%; } .countdown { font-size: 76rpx; } .stat-grid { gap: 8rpx; } } button[disabled] { opacity: 0.5; }