* {
			margin: 0;
			padding: 0;
			box-sizing: border-box;
			font-family: 'Arial', 'Microsoft YaHei', sans-serif;
		}

		body {
			color: #333;
			line-height: 1.6;
			padding: 0 0 10px;
			min-height: 100vh;
			overscroll-behavior: contain;
                        background: linear-gradient(135deg, #1a2a6c, #b21f1f, #fdbb2d);
		}

		.container {
			max-width: 1200px;
			margin: 0 auto;
			padding: 0 10px;
		}

        .header{
            background-color: #fff;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
            overflow: hidden;
            position: relative;
        }

		/* 顶部标题栏 */
		.lottery-header {
			background: linear-gradient(to right, #e74c3c, #c0392b);
			color: white;
			padding: 8px 15px;
			text-align: center;
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

		.lottery-title {
			font-size: 1.4rem;
			font-weight: bold;
			flex: 2;
		}

		.lottery-subtitle {
			font-size: 0.9rem;
			opacity: 0.9;
			flex: 1;
			background-color: #3498db;
			padding: 4px 10px;
			border-radius: 4px;
			text-align: center;
			margin-left: 10px;
		}

		/* 上期开奖号码栏 */
		.last-result {
			background: #f8f9fa;
			padding: 10px 15px;
			border-bottom: 1px solid #dee2e6;
			display: flex;
			align-items: center;
			gap: 15px;
			font-size: 0.9rem;
		}

		.result-period {
			font-weight: bold;
			color: #e74c3c;
			white-space: nowrap;
		}

		.result-numbers {
			display: flex;
			align-items: center;
			gap: 5px;
			flex-wrap: wrap;
		}

		.result-ball {
			width: 32px;
			height: 32px;
			line-height: 32px;
			border-radius: 50%;
			text-align: center;
			font-weight: bold;
			font-size: 1rem;
			color: white;
		}

		.result-ball.red {
			background: #e74c3c;
		}

		.result-ball.blue {
			background: #3498db;
		}

		.result-plus {
			font-weight: bold;
			color: #666;
			margin: 0 5px;
		}

		.ai-tools-hint {
			margin: 0;
			padding: 4px 8px 8px;
			font-size: 0.75rem;
			color: #666;
			text-align: center;
		}

		/* 投注类型：玩法 + 工具分两行（移动端更清晰） */
		.bet-type-toolbar {
			display: flex;
			flex-direction: column;
			gap: 6px;
			flex: 1;
			min-width: 0;
			background: #f8f9fa;
			border-bottom: 1px solid #dee2e6;
		}

		.bet-type-selector {
			display: flex;
			background: transparent;
			border-bottom: none;
			padding: 4px;
			gap: 6px;
			justify-content: center;
		}

		.bet-type-selector--tools {
			border-top: 1px dashed #dee2e6;
		}

		.bet-type {
			padding: 8px 15px;
			border-radius: 4px;
			font-size: 0.9rem;
			cursor: pointer;
			transition: background-color 0.3s, color 0.3s, border-color 0.3s;
			background: white;
			color: #495057;
			border: 1px solid #dee2e6;
			font-weight: 500;
		}

		.bet-type:hover {
			background: #f8f9fa;
		}

		.bet-type.active {
			background: #e74c3c;
			color: white;
			font-weight: bold;
			border-color: #c0392b;
		}

		/* 新增：定胆按钮样式 */
		.bet-type.fixed-dan {
			background: #f39c12;
			color: white;
			border-color: #e67e22;
		}

		.bet-type.fixed-dan:hover {
			background: #e67e22;
		}

		.bet-type.fixed-dan.active {
			background: #d35400;
			border-color: #a35200;
		}

		.bet-type.kill-dan {
			background: #e74c3c;
			color: white;
			border-color: #c0392b;
		}

		.bet-type.kill-dan:hover {
			background: #c0392b;
		}

		.bet-type.kill-dan.active {
			background: #a93226;
			border-color: #922b21;
		}

		.bet-type {
			position: relative;
		}

		.bet-type-badge {
			position: absolute;
			top: -6px;
			right: -4px;
			min-width: 18px;
			height: 18px;
			padding: 0 5px;
			border-radius: 9px;
			background: #fff;
			font-size: 0.7rem;
			font-weight: bold;
			line-height: 18px;
			text-align: center;
			box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
		}

		.bet-type.fixed-dan .bet-type-badge {
			color: #d35400;
		}

		.bet-type.kill-dan .bet-type-badge {
			color: #c0392b;
		}

		.bet-type.fixed-dan.has-settings:not(.active) {
			box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9), 0 0 0 4px rgba(243, 156, 18, 0.55);
		}

		.bet-type.kill-dan.has-settings:not(.active) {
			box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9), 0 0 0 4px rgba(231, 76, 60, 0.45);
		}

		.dan-settings-status {
			padding: 8px 14px;
			background: linear-gradient(to bottom, #fffbf0, #fff);
			border-bottom: 2px solid #f39c12;
			font-size: 0.85rem;
			line-height: 1.5;
		}

		.dan-settings-status[hidden] {
			display: none !important;
		}

		.dan-status-row[hidden] {
			display: none !important;
		}

		.dan-status-row {
			display: flex;
			align-items: center;
			flex-wrap: wrap;
			gap: 6px 8px;
			padding: 4px 0;
		}

		.dan-status-row + .dan-status-row {
			border-top: 1px dashed #eee;
			margin-top: 4px;
			padding-top: 8px;
		}

		.dan-status-label {
			flex-shrink: 0;
			font-weight: bold;
			white-space: nowrap;
		}

		.dan-status-row--fixed .dan-status-label {
			color: #d35400;
		}

		.dan-status-row--kill .dan-status-label {
			color: #c0392b;
		}

		.dan-status-nums {
			flex: 1;
			min-width: 0;
			color: #333;
		}

		.dan-status-nums .num-pill {
			display: inline-block;
			padding: 1px 6px;
			margin: 1px 2px;
			border-radius: 10px;
			font-weight: bold;
			font-size: 0.78rem;
		}

		.dan-status-nums .num-pill--red {
			background: #fdecea;
			color: #c0392b;
			border: 1px solid #e74c3c;
		}

		.dan-status-nums .num-pill--blue {
			background: #ebf5fb;
			color: #2980b9;
			border: 1px solid #3498db;
		}

		.dan-status-row--fixed .num-pill--fixed {
			background: #fff3e0;
			color: #e67e22;
			border: 1px solid #f39c12;
		}

		.dan-status-row--kill .num-pill--kill-red {
			background: #fdecea;
			color: #c0392b;
			border: 1px solid #e74c3c;
		}

		.dan-status-row--kill .num-pill--kill-blue {
			background: #ebf5fb;
			color: #2980b9;
			border: 1px solid #3498db;
		}

		.dan-status-nums .num-pill.is-clickable {
			cursor: pointer;
		}

		.dan-status-nums .num-pill.is-clickable:active {
			opacity: 0.75;
		}

		.dan-status-clear {
			flex-shrink: 0;
			padding: 2px 10px;
			border-radius: 12px;
			background: transparent;
			font-size: 0.78rem;
			cursor: pointer;
		}

		.dan-status-row--fixed .dan-status-clear {
			border: 1px solid #e67e22;
			color: #e67e22;
		}

		.dan-status-row--kill .dan-status-clear {
			border: 1px solid #e74c3c;
			color: #e74c3c;
		}

		/* 新增：AI预测按钮样式 */
		.bet-type.ai-predict {
			background: #3498db;
			color: white;
			border-color: #2980b9;
		}
		
		.bet-type.ai-predict:hover {
			background: #2980b9;
		}
		
		.bet-type.ai-predict.active {
			background: #1e6ea7;
			border-color: #195785;
		}

		/* 新增：开关样式 */
		.switch {
			position: relative;
			display: inline-block;
			width: 40px;
			height: 20px;
		}

		.switch input {
			opacity: 0;
			width: 0;
			height: 0;
		}

		.slider {
			position: absolute;
			cursor: pointer;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background-color: #ccc;
			transition: 0.4s;
		}

		.slider:before {
			position: absolute;
			content: "";
			height: 16px;
			width: 16px;
			left: 2px;
			top: 2px;
			background-color: white;
			transition: 0.4s;
		}

		input:checked + .slider {
			background-color: #3498db;
		}

		input:focus + .slider {
			box-shadow: 0 0 1px #3498db;
		}

		input:checked + .slider:before {
			transform: translateX(20px);
		}

		.slider.round {
			border-radius: 20px;
		}

		.slider.round:before {
			border-radius: 50%;
		}

		/* 新增：AI预测设置区域样式 */
		.ai-container {
			background: #f8f9fa;
			border: 1px solid #dee2e6;
			border-radius: 4px;
			padding: 8px;
			margin: 0px;
			display: none;
			flex-direction: column;
			/* 默认隐藏，点击按钮后显示 */
		}

		.ai-header {
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin-bottom: 10px;
			flex-shrink: 0;
		}

		.ai-title {
			color: #3498db;
			font-size: 1rem;
			font-weight: bold;
		}

		.ai-buttons {
			display: flex;
			gap: 8px;
		}

		.ai-btn {
			padding: 8px 16px;
			border: 1px solid #ced4da;
			border-radius: 4px;
			font-size: 0.9rem;
			cursor: pointer;
			display: flex;
			align-items: center;
			gap: 6px;
			min-height: 40px;
			touch-action: manipulation;
			-webkit-tap-highlight-color: transparent;
			transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
		}
		
		.ai-btn:active {
			transform: scale(0.98);
		}

		.ai-btn.primary {
			background: #3498db;
			color: white;
			border-color: #2980b9;
		}

		.ai-btn.secondary {
			background: #f8f9fa;
			color: #495057;
			border-color: #ced4da;
		}

		.ai-btn.warning {
			background: #e74c3c;
			color: white;
			border-color: #c0392b;
		}

		.ai-content {
			display: flex;
			flex-direction: column;
			gap: 15px;
			overflow: visible;
		}

		/* 响应式布局 */
		@media (max-width: 768px) {
			.ai-header {
				flex-direction: column;
				align-items: flex-start !important;
				gap: 10px;
			}
			
			.ai-buttons {
				width: 100%;
				justify-content: flex-end;
			}
			
			.ai-container {
				margin-left: 2px !important;
				margin-right: 2px !important;
			}
			
			.ai-content {
				padding: 10px;
			}
			
			.ai-section {
				margin-bottom: 15px;
			}
			
			.ai-section-title {
				font-size: 1rem;
				margin-bottom: 10px;
			}
			
			#aiPredictResult {
				padding: 12px;
				font-size: 0.9rem;
			}
		}
		
		@media (max-width: 480px) {
			.ai-btn {
				padding: 10px 14px;
				font-size: 0.85rem;
			}
			
			.ai-title {
				font-size: 1rem;
			}
			
			.ai-title span {
				font-size: 0.75rem;
			}
			
			select {
				font-size: 0.9rem;
				padding: 10px !important;
			}
			
			#aiPredictResult {
				min-height: 120px;
			}
		}

		.ai-section {
			margin-bottom: 10px;
		}

		.ai-section-title {
			color: #666;
			font-size: 0.9rem;
			margin-bottom: 8px;
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

		.ai-section-title span:first-child {
			font-weight: bold;
		}

		.ai-section-title .count {
			color: #3498db;
			font-weight: bold;
		}

		/* 新增：定胆设置区域样式 */
		.fixed-dan-container,
		.kill-dan-container {
			background: #fff;
			border: 1px solid #dee2e6;
			border-radius: 8px;
			margin: 0;
			overflow: visible;
			display: none;
			flex-direction: column;
		}

		.panel-header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 12px;
			padding: 12px 14px;
			flex-shrink: 0;
		}

		.panel-header-main {
			flex: 1 1 auto;
			min-width: 0;
		}

		.panel-header-title {
			font-size: 1rem;
			font-weight: bold;
			line-height: 1.3;
			white-space: nowrap;
		}

		.panel-header-title i {
			margin-right: 6px;
		}

		.panel-header-desc {
			margin: 4px 0 0;
			font-size: 0.82rem;
			line-height: 1.45;
			color: #666;
		}

		.panel-header-actions {
			display: flex;
			flex-direction: row;
			flex-shrink: 0;
			align-items: center;
			gap: 8px;
		}

		.panel-header--danger {
			background: linear-gradient(to right, #e74c3c, #c0392b);
			color: #fff;
		}

		.panel-header--danger .panel-header-title {
			color: #fff;
		}

		.panel-header--danger .panel-header-desc {
			color: rgba(255, 255, 255, 0.92);
		}

		.fixed-dan-header {
			background: #fff;
			border-bottom: 1px solid #eee;
			margin-bottom: 0;
		}

		.fixed-dan-title {
			color: #e74c3c;
		}

		.fixed-dan-buttons,
		.kill-dan-buttons {
			display: flex;
			flex-direction: row;
			gap: 8px;
		}

		.fixed-dan-btn,
		.kill-dan-btn {
			padding: 8px 14px;
			border: 1px solid transparent;
			border-radius: 6px;
			font-size: 0.85rem;
			cursor: pointer;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 5px;
			white-space: nowrap;
			flex-shrink: 0;
			min-height: 36px;
			line-height: 1.2;
			transition: background-color 0.2s, border-color 0.2s;
		}

		.fixed-dan-btn.primary {
			background: #3498db;
			color: white;
			border-color: #2980b9;
		}

		.fixed-dan-btn.secondary {
			background: #f8f9fa;
			color: #495057;
			border-color: #ced4da;
		}

		.fixed-dan-btn.warning {
			background: #e74c3c;
			color: white;
			border-color: #c0392b;
		}

		.kill-dan-btn.primary {
			background: #2ecc71;
			color: #fff;
			border-color: #27ae60;
		}

		.kill-dan-btn.secondary {
			background: rgba(255, 255, 255, 0.18);
			color: #fff;
			border-color: rgba(255, 255, 255, 0.45);
		}

		.kill-dan-btn.warning {
			background: #f39c12;
			color: #333;
			border-color: #e0a800;
		}

		.kill-dan-content,
		.fixed-dan-content {
			padding: 12px 14px;
			overflow: visible;
		}

		.fixed-dan-container,
		.kill-dan-container {
			overflow: visible;
		}

		@media (max-width: 768px) {
			.kill-dan-balls {
				gap: 4px;
			}
		}

		.fixed-dan-content {
			display: flex;
			flex-direction: column;
			gap: 15px;
		}

		.kill-dan-section {
			margin-bottom: 16px;
			padding-bottom: 14px;
			border-bottom: 1px dashed #dee2e6;
		}

		.kill-dan-section:last-child {
			margin-bottom: 0;
			padding-bottom: 0;
			border-bottom: none;
		}

		.kill-dan-section-title {
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin-bottom: 10px;
			font-size: 0.9rem;
			color: #666;
		}

		.kill-dan-section-title .count {
			color: #e74c3c;
			font-weight: bold;
		}

		.kill-dan-balls {
			display: grid;
			grid-template-columns: repeat(11, minmax(0, 1fr));
			gap: 6px;
			width: 100%;
			max-width: 100%;
			box-sizing: border-box;
			margin-bottom: 10px;
		}

		#killBlueBalls.kill-dan-balls {
			grid-template-columns: repeat(8, minmax(0, 1fr));
		}

		.kill-dan-balls .kill-dan-ball {
			width: 100% !important;
			max-width: 100%;
			height: auto !important;
			aspect-ratio: 1;
			min-width: 0;
			line-height: 1 !important;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			font-size: clamp(0.62rem, 2.4vw, 0.85rem);
			box-sizing: border-box;
			justify-self: stretch;
		}

		.kill-dan-ball {
			width: 42px;
			height: 42px;
			line-height: 42px;
			border-radius: 50%;
			text-align: center;
			font-weight: bold;
			font-size: 1.05rem;
			cursor: pointer;
			border: 2px solid transparent;
			justify-self: center;
		}

		.kill-dan-ball.red {
			background: #ffeaea;
			color: #e74c3c;
			border-color: #ffcccc;
		}

		.kill-dan-ball.red.selected {
			background: #e74c3c;
			color: #fff;
			border-color: #c0392b;
		}

		.kill-dan-ball.blue {
			background: #e8f4fd;
			color: #3498db;
			border-color: #cce5ff;
		}

		.kill-dan-ball.blue.selected {
			background: #3498db;
			color: #fff;
			border-color: #2980b9;
		}

		.fixed-dan-section {
			margin-bottom: 10px;
		}

		.fixed-dan-section-title {
			color: #666;
			font-size: 0.9rem;
			margin-bottom: 8px;
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

		.fixed-dan-section-title span:first-child {
			font-weight: bold;
		}

		.fixed-dan-section-title .count {
			color: #e74c3c;
			font-weight: bold;
		}

		.fixed-dan-balls {
			display: flex;
			flex-wrap: wrap;
			gap: 8px;
			margin-top: 5px;
		}

		.fixed-dan-ball {
			width: 42px;
			height: 42px;
			line-height: 42px;
			border-radius: 50%;
			text-align: center;
			font-weight: bold;
			cursor: pointer;
			border: 2px solid transparent;
			transition: transform 0.2s, background-color 0.2s, color 0.2s, border-color 0.2s;
			font-size: 1.05rem;
		}

		.fixed-dan-ball.red {
			background: #ffeaea;
			color: #e74c3c;
			border-color: #ffcccc;
		}

		.fixed-dan-ball.red.selected {
			background: #e74c3c;
			color: white;
			border-color: #c0392b;
		}

		.fixed-dan-ball.blue {
			background: #e8f4fd;
			color: #3498db;
			border-color: #cce5ff;
		}

		.fixed-dan-ball.blue.selected {
			background: #3498db;
			color: white;
			border-color: #2980b9;
		}

	/* 期号信息栏 */
		.period-info {
			background: #f8f9fa;
			padding: 10px 15px;
			border-bottom: 1px solid #dee2e6;
			font-size: 0.9rem;
			color: #666;
		}

		.period-detail {
			display: flex;
			gap: 20px;
			align-items: center;
			flex-wrap: nowrap;
		}

		.period-detail span {
			white-space: nowrap;
			flex-shrink: 0;
		}

		/* 期号和投注类型包裹容器 */
		.period-and-bet-wrapper {
			display: flex;
			align-items: center;
			gap: 0;
		}

		.period-and-bet-wrapper .period-info {
			flex: 0 0 auto;
			border-bottom: none;
			border-right: 1px solid #dee2e6;
			overflow: visible;
		}

		.period-and-bet-wrapper .bet-type-toolbar {
			flex: 1 1 auto;
			min-width: 0;
			justify-content: flex-start;
		}

		/* 单式界面样式 */
		.single-bet-container {
			padding: 5px;
		}

		.bet-table {
			width: 100%;
			border-collapse: collapse;
			margin-bottom: 15px;
			background: white;
			border: 1px solid #dee2e6;
		}

		.bet-table th {
			background: #f8f9fa;
			border: 1px solid #dee2e6;
			padding: 8px 4px;
			font-size: 0.85rem;
			font-weight: normal;
			color: #666;
			text-align: center;
		}

		.bet-table td {
			border: 1px solid #dee2e6;
			padding: 8px 4px;
			text-align: center;
			height: 40px;
		}

		.ball-slot {
			display: inline-block;
			width: 28px;
			height: 28px;
			line-height: 28px;
			border-radius: 50%;
			background: #f8f9fa;
			border: 1px solid #dee2e6;
			margin: 0 2px;
			font-size: 0.9rem;
			color: #333;
		}

		.ball-slot.red {
			background: #ffeaea;
			border-color: #ffcccc;
			color: #e74c3c;
		}

		.ball-slot.blue {
			background: #e8f4fd;
			border-color: #cce5ff;
			color: #3498db;
		}

		.ball-slot.selected.red {
			background: #e74c3c;
			color: white;
			border-color: #c0392b;
		}

		.ball-slot.selected.blue {
			background: #3498db;
			color: white;
			border-color: #2980b9;
		}

		/* 合并红球单元格样式 */
		.ball-slot.combined {
			display: inline-block;
			width: auto;
			min-width: 200px;
			padding: 8px 12px;
			border-radius: 4px;
			background: #f8f9fa;
			border: 1px solid #dee2e6;
			margin: 0;
			font-size: 0.85rem;
			color: #333;
			letter-spacing: 2px;
			cursor: pointer;
		}

		.ball-slot.combined.selected {
			background: #e74c3c;
			color: white;
			border-color: #c0392b;
		}

		/* 单式球类单元格样式 */
		.ball-cell {
			padding: 8px 12px;
			text-align: center;
			border: 2px solid #dee2e6;
			background: #f8f9fa;
			color: #666;
			font-size: 0.9rem;
			cursor: pointer;
			min-width: 200px;
			letter-spacing: 2px;
			border-radius: 8px;
		}

		.ball-cell.red {
			border-color: #e74c3c;
			min-width: 280px;
		}

		.ball-cell.red.selected {
			background: #fff;
			color: #333;
			border-color: #e74c3c;
		}

		.ball-cell.blue {
			border-color: #3498db;
			min-width: 60px;
			max-width: 80px;
		}

		.ball-cell.blue.selected {
			background: #fff;
			color: #333;
			border-color: #3498db;
		}

		.ball-cell .pick-placeholder {
			color: #aaa;
			font-size: 0.95rem;
			white-space: nowrap;
		}

		.pick-balls {
			display: flex;
			flex-wrap: wrap;
			gap: 4px;
			align-items: center;
			justify-content: center;
			width: 100%;
		}

		.pick-ball {
			width: 32px;
			height: 32px;
			line-height: 32px;
			border-radius: 50%;
			text-align: center;
			font-weight: bold;
			font-size: 1rem;
			color: white;
			flex-shrink: 0;
		}

		.pick-ball.red {
			background: #e74c3c;
		}

		.pick-ball.blue {
			background: #3498db;
		}

		.single-bet-row .row-index {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-width: 24px;
			height: 24px;
			padding: 0 6px;
			border-radius: 12px;
			background: #f0f0f0;
			color: #666;
			font-size: 0.85rem;
			font-weight: 600;
		}

		.single-pick-line {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 8px;
			width: 100%;
			min-width: 0;
		}

		.single-pick-line .ball-cell.red {
			flex: 0 0 auto;
			min-width: 0;
			max-width: none;
		}

		.single-pick-line .ball-cell.red:not(.selected) {
			flex: 1 1 auto;
		}

		.single-pick-line .ball-cell.blue {
			flex: 0 0 auto;
			min-width: 60px;
			max-width: none;
		}

		.single-pick-line:has(.ball-cell.selected) {
			flex-wrap: nowrap;
			gap: 4px;
		}

		.single-pick-line:has(.ball-cell.selected) .ball-cell {
			border: none;
			background: transparent;
			padding: 0;
			min-height: 0;
			width: auto;
		}

		.single-pick-line:has(.ball-cell.selected) .pick-balls {
			flex-wrap: nowrap;
			justify-content: flex-start;
		}

		/* 单式行按钮 */
		.row-buttons {
			display: flex;
			gap: 5px;
			justify-content: center;
		}

		.row-btn {
			padding: 8px 12px;
			border: 1px solid #ced4da;
			border-radius: 6px;
			font-size: 0.85rem;
			cursor: pointer;
			background: #e9ecef;
			color: #495057;
			min-width: 44px;
			min-height: 44px;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			box-sizing: border-box;
		}

		.row-btn:hover {
			background: #dee2e6;
		}

		.row-btn.auto {
			background: #e3f2fd;
			border-color: #bbdefb;
			color: #1976d2;
		}

		.row-btn.delete {
			background: #ffebee;
			border-color: #ffcdd2;
			color: #d32f2f;
		}

		/* 复式界面样式 */
		.multiple-bet-container {
			padding: 5px;
		}

		/* 复式选项设置 */
		.multiple-settings {
			background: #f8f9fa;
			border: 1px solid #dee2e6;
			border-radius: 4px;
			padding: 15px;
			margin-bottom: 15px;
		}

		.multiple-settings .lbl-short {
			display: none;
		}

		.settings-row--pair {
			flex-wrap: nowrap;
		}

		.settings-row {
			display: flex;
			gap: 20px;
			margin-bottom: 10px;
			flex-wrap: wrap;
		}

		.setting-item {
			flex: 1;
			min-width: 200px;
		}

		.setting-item label {
			display: block;
			margin-bottom: 5px;
			font-size: 0.9rem;
			color: #666;
		}

		.setting-select {
			width: 100%;
			padding: 8px 12px;
			border: 1px solid #ced4da;
			border-radius: 4px;
			font-size: 0.9rem;
			background: white;
			cursor: pointer;
		}

		.setting-select:focus {
			outline: none;
			border-color: #80bdff;
			box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
		}

		.ball-selector-panel {
			background: #f8f9fa;
			border: 1px solid #dee2e6;
			border-radius: 4px;
			padding: 15px;
			margin-bottom: 15px;
		}

		.selector-title {
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin-bottom: 10px;
			padding-bottom: 8px;
			border-bottom: 1px solid #dee2e6;
		}

		.selector-title h4 {
			color: #e74c3c;
			font-size: 1rem;
		}

		.selector-buttons {
			display: flex;
			gap: 8px;
		}

		.selector-btn {
			padding: 4px 10px;
			background: #e9ecef;
			border: 1px solid #ced4da;
			border-radius: 3px;
			font-size: 0.8rem;
			cursor: pointer;
			color: #495057;
		}

		.selector-btn:hover {
			background: #dee2e6;
		}

		.ball-grid {
			display: flex;
			flex-wrap: wrap;
			gap: 5px;
			margin-top: 10px;
		}

		.grid-ball {
			width: 42px;
			height: 42px;
			line-height: 42px;
			border-radius: 50%;
			text-align: center;
			font-weight: bold;
			font-size: 1.05rem;
			cursor: pointer;
			border: 2px solid transparent;
			transition: transform 0.2s, background-color 0.2s, color 0.2s, border-color 0.2s;
		}

		.grid-ball.red {
			background: #ffeaea;
			color: #e74c3c;
			border-color: #ffcccc;
		}

		.grid-ball.red.selected {
			background: #e74c3c;
			color: white;
			border-color: #c0392b;
		}

		/* 胆拖：胆码深红+金边，与拖码区分 */
		#danBallGrid .grid-ball.red {
			background: #fff0f0;
			color: #b71c1c;
			border-color: #ef9a9a;
			box-shadow: inset 0 0 0 1px rgba(243, 156, 18, 0.35);
		}

		#danBallGrid .grid-ball.red.selected {
			background: linear-gradient(145deg, #e53935, #c62828);
			color: #fff;
			border-color: #f39c12;
			box-shadow: 0 0 0 2px rgba(243, 156, 18, 0.55);
		}

		/* 胆拖：拖码橙色系 */
		.grid-ball.tuo {
			background: #fff8e1;
			color: #e65100;
			border-color: #ffcc80;
		}

		.grid-ball.tuo.selected {
			background: linear-gradient(145deg, #ff9800, #ef6c00);
			color: white;
			border-color: #e65100;
		}

		#tuoBallGrid .grid-ball.tuo {
			background: #fff3e0;
			color: #ef6c00;
			border-color: #ffb74d;
		}

		#tuoBallGrid .grid-ball.tuo.selected {
			background: linear-gradient(145deg, #fb8c00, #e65100);
			color: #fff;
			border-color: #bf360c;
			box-shadow: 0 0 0 2px rgba(255, 183, 77, 0.45);
		}

		.grid-ball.blue {
			background: #e8f4fd;
			color: #3498db;
			border-color: #cce5ff;
		}

		.grid-ball.blue.selected {
			background: #3498db;
			color: white;
			border-color: #2980b9;
		}

		/* 蓝球全包显示 */
		.blue-all {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			padding: 5px 12px;
			background: #3498db;
			color: white;
			font-weight: bold;
			border-radius: 20px;
			font-size: 0.9rem;
			border: 2px solid #2980b9;
		}

		/* 胆拖界面样式 */
		.dan-bet-container {
			padding: 5px;
		}

		/* 胆拖选项设置 */
		.dan-settings {
			background: #f8f9fa;
			border: 1px solid #dee2e6;
			border-radius: 4px;
			padding: 15px;
			margin-bottom: 15px;
		}

		.dan-settings .lbl-short {
			display: none;
		}

		.dan-panel {
			background: #f8f9fa;
			border: 1px solid #dee2e6;
			border-radius: 4px;
			padding: 15px;
			margin-bottom: 15px;
		}

		.dan-section {
			margin-bottom: 20px;
		}

		.dan-section:last-child {
			margin-bottom: 0;
		}

		.dan-section-title {
			font-size: 0.9rem;
			margin-bottom: 8px;
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

		.dan-section--dan .dan-section-title {
			color: #c0392b;
		}

		.dan-section--tuo .dan-section-title {
			color: #e65100;
		}

		.dan-section--dan {
			padding: 10px;
			border-left: 4px solid #e74c3c;
			background: #fff5f5;
			border-radius: 4px;
		}

		.dan-section--tuo {
			padding: 10px;
			border-left: 4px solid #ff9800;
			background: #fff8e1;
			border-radius: 4px;
		}

		.dan-play-tip {
			font-size: 0.82rem;
			color: #666;
			line-height: 1.5;
			margin: 0 0 12px;
			padding: 8px 10px;
			background: #fff8e6;
			border: 1px solid #ffe08a;
			border-radius: 6px;
		}

		/* 金额和投注信息 */
		.bet-info-panel {
			background: #f8f9fa;
			border: 1px solid #dee2e6;
			border-radius: 4px;
			padding: 5px;
			margin: 0px;
		}

		.bet-info-row {
			display: flex;
			justify-content: space-between;
			margin-bottom: 10px;
			font-size: 0.95rem;
		}

		.bet-info-row:last-child {
			margin-bottom: 0;
		}

		.bet-amount {
			font-size: 1.2rem;
			color: #e74c3c;
			font-weight: bold;
		}

		/* 底部控制按钮 */
		.control-panel {
			padding: 15px;
			background: #f8f9fa;
			border-top: 1px solid #dee2e6;
			display: flex;
			gap: 10px;
			flex-wrap: wrap;
		}

		.control-btn {
			flex: 1;
			min-width: 100px;
			padding: 12px;
			border: none;
			border-radius: 4px;
			font-size: 0.95rem;
			font-weight: bold;
			cursor: pointer;
			transition: background-color 0.3s, color 0.3s;
		}

		.control-btn.primary {
			background: #2ecc71;
			color: white;
		}

		.control-btn.primary:hover {
			background: #27ae60;
		}

		.control-btn.secondary {
			background: #3498db;
			color: white;
		}

		.control-btn.secondary:hover {
			background: #2980b9;
		}

		.control-btn.warning {
			background: #e67e22;
			color: white;
		}

		.control-btn.warning:hover {
			background: #d35400;
		}

		/* 历史记录 */
		.history-panel {
			padding: 5px;
		}

		.pick-flow-bar {
			margin-bottom: 12px;
			padding: 12px 14px;
			background: linear-gradient(135deg, #fff8f0 0%, #fff 100%);
			border: 1px solid #f5c6a5;
			border-radius: 10px;
			font-size: 0.82rem;
			color: #5c4033;
		}

		.pick-flow-bar__title {
			font-weight: 700;
			color: #c0392b;
			margin-bottom: 8px;
			font-size: 0.9rem;
		}

		.pick-flow-steps {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 6px;
			list-style: none;
			margin: 0 0 8px;
			padding: 0;
			counter-reset: pickflow;
		}

		.pick-flow-steps li {
			min-width: 0;
			text-align: center;
			padding: 6px 2px;
			border-radius: 999px;
			background: #f1f3f5;
			color: #666;
			font-size: 0.75rem;
			line-height: 1.3;
			white-space: nowrap;
			overflow: hidden;
			text-overflow: ellipsis;
		}

		.pick-flow-steps li.is-active {
			background: #e74c3c;
			color: #fff;
			font-weight: 600;
		}

		.pick-flow-hint {
			margin: 0;
			line-height: 1.45;
			color: #7f5539;
			font-size: 0.78rem;
		}

		.pick-mobile-bar {
			display: none;
			position: fixed;
			left: 0;
			right: 0;
			bottom: 0;
			z-index: 9000;
			padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
			background: rgba(255, 255, 255, 0.97);
			border-top: 1px solid #dee2e6;
			box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
			align-items: center;
			gap: 8px;
		}

		.pick-mobile-bar.show {
			display: flex;
		}

		.pick-mobile-bar__count {
			flex: 1;
			font-size: 0.82rem;
			color: #555;
			min-width: 0;
			white-space: nowrap;
			overflow: hidden;
			text-overflow: ellipsis;
		}

		.pick-mobile-bar__btn {
			border: none;
			border-radius: 8px;
			padding: 10px 14px;
			font-size: 0.85rem;
			font-weight: 600;
			cursor: pointer;
			white-space: nowrap;
		}

		.pick-mobile-bar__btn--analyze {
			background: #3498db;
			color: #fff;
		}

		.pick-mobile-bar__btn--shouhao {
			background: linear-gradient(135deg, #f39c12, #e67e22);
			color: #fff;
		}

		.shouhao-save-btn {
			background: linear-gradient(135deg, #f39c12, #e67e22) !important;
			color: #fff !important;
			border: none !important;
			font-weight: 600;
		}

		.shouhao-save-btn:hover {
			filter: brightness(1.05);
		}

		.backtest-shouhao-cta {
			padding: 12px 14px 16px;
			border-top: 1px solid #dee2e6;
			background: #fff;
			position: sticky;
			bottom: 0;
		}

		.backtest-shouhao-cta p {
			margin: 0 0 10px;
			font-size: 0.82rem;
			color: #666;
			line-height: 1.45;
		}

		.backtest-shouhao-cta .control-btn {
			width: 100%;
			max-width: none;
			flex: none;
		}

		.history-header {
			display: flex;
			flex-direction: column;
			align-items: stretch;
			gap: 10px;
			margin-bottom: 15px;
			padding-bottom: 10px;
			border-bottom: 1px solid #dee2e6;
		}

		.history-header h3 {
			color: #e74c3c;
			font-size: 1.1rem;
			white-space: nowrap;
			line-height: 1.3;
		}

		.history-header-buttons {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 6px;
			width: 100%;
		}

		.backtest-history {
			border: none;
			background: linear-gradient(135deg, #3498db, #2980b9);
			color: #fff;
			padding: 8px 6px;
			border-radius: 6px;
			font-size: 0.78rem;
			cursor: pointer;
			min-height: 40px;
			min-width: 0;
			white-space: nowrap;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 4px;
		}

		.backtest-modal {
			position: fixed;
			inset: 0;
			z-index: 12000;
			display: none;
			align-items: flex-end;
			justify-content: center;
			padding: 0;
			background: rgba(0, 0, 0, 0.5);
			overflow: hidden;
			overscroll-behavior: none;
		}

		body.backtest-modal-open {
			position: fixed;
			left: 0;
			right: 0;
			width: 100%;
			overflow: hidden;
		}

		.backtest-modal.open { display: flex; }

		.backtest-modal__card {
			width: 100%;
			max-width: 520px;
			max-height: 92vh;
			overflow: auto;
			background: #f0f2f5;
			border-radius: 16px 16px 0 0;
			padding: 0;
			-webkit-overflow-scrolling: touch;
			overscroll-behavior: contain;
			touch-action: pan-y;
		}

		@media (min-width: 520px) {
			.backtest-modal {
				align-items: center;
				padding: 16px;
			}
			.backtest-modal__card {
				border-radius: 14px;
				max-height: min(88vh, 780px);
			}
		}

		.backtest-modal__head {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 14px 16px;
			background: #fff;
			border-bottom: 1px solid #e8e8e8;
			position: sticky;
			top: 0;
			z-index: 2;
		}

		.backtest-modal__head h3 {
			margin: 0;
			font-size: 1.05rem;
			font-weight: 700;
			color: #1a1a1a;
		}

		#backtestModalBody { padding: 10px 10px 16px; }

		.bt-panel { display: flex; flex-direction: column; gap: 10px; }

		.bt-pick-card,
		.bt-section {
			background: #fff;
			border-radius: 12px;
			padding: 14px;
			border: 1px solid #ebebeb;
		}

		.bt-pick-meta {
			font-size: 0.84rem;
			color: #666;
			margin-bottom: 10px;
		}

		.bt-pick-balls {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			gap: 5px;
		}

		.bt-ball {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 28px;
			height: 28px;
			border-radius: 50%;
			font-size: 0.78rem;
			font-weight: 700;
			color: #fff;
			flex-shrink: 0;
		}

		.bt-ball--sm {
			width: 26px;
			height: 26px;
			font-size: 0.72rem;
		}

		.bt-ball--red { background: #e74c3c; }
		.bt-ball--blue { background: #3498db; }

		.bt-draw-scroll .bt-ball--miss {
			opacity: 0.32;
			filter: grayscale(0.25);
		}

		.bt-ball--hit {
			position: relative;
			z-index: 1;
			transform: scale(1.12);
			box-shadow:
				0 0 0 2px #fff,
				0 0 0 4px #ffb300,
				0 0 10px rgba(255, 152, 0, 0.55);
		}

		.bt-ball--hit.bt-ball--red {
			background: linear-gradient(180deg, #ff6b5b 0%, #d63020 100%);
		}

		.bt-ball--hit.bt-ball--blue {
			background: linear-gradient(180deg, #5dade2 0%, #1a7fd4 100%);
		}

		.bt-ball--dan {
			background: linear-gradient(180deg, #c0392b 0%, #922b21 100%);
			box-shadow: 0 0 0 1px #fff, 0 0 0 2px #f1c40f;
		}

		.bt-ball--tuo {
			background: linear-gradient(180deg, #f39c12 0%, #d35400 100%);
		}

		.bt-pick-balls--dan-tuo {
			row-gap: 6px;
		}

		.bt-pick-tag {
			font-size: 0.72rem;
			color: #999;
			margin-right: 2px;
		}

		.bt-plus { color: #bbb; font-size: 0.75rem; padding: 0 1px; }

		.bt-section-title {
			margin: 0 0 8px;
			font-size: 0.92rem;
			font-weight: 700;
			color: #1a1a1a;
		}

		.bt-section-head {
			display: flex;
			justify-content: space-between;
			align-items: center;
			gap: 8px;
			margin-bottom: 4px;
		}

		.bt-section-head .bt-section-title { margin: 0; }

		.bt-section-actions {
			display: flex;
			align-items: center;
			gap: 6px;
			flex-shrink: 0;
		}

		.bt-omit-select {
			box-sizing: border-box;
			flex-shrink: 0;
			min-width: 4.6em;
			height: auto;
			min-height: 30px;
			padding: 6px 26px 6px 11px;
			font-size: 12px;
			line-height: 1.25;
			color: #444;
			border: 1px solid #ddd;
			border-radius: 999px;
			background-color: #fff;
			cursor: pointer;
			-webkit-appearance: none;
			appearance: none;
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23999' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");
			background-repeat: no-repeat;
			background-position: right 9px center;
		}

		.bt-summary {
			margin: 0 0 10px;
			padding: 8px 10px;
			background: #f8f9fb;
			border-radius: 8px;
			font-size: 0.84rem;
			color: #555;
			line-height: 1.5;
		}

		.bt-tabs { display: flex; gap: 6px; }

		.bt-omit-range-note {
			margin: 0 0 8px;
			font-size: 0.68rem;
			color: #bbb;
			line-height: 1.4;
		}

		.bt-tab {
			border: 1px solid #ddd;
			background: #fff;
			color: #666;
			border-radius: 999px;
			padding: 4px 12px;
			font-size: 0.76rem;
			cursor: pointer;
		}

		.bt-tab.active {
			background: #333;
			border-color: #333;
			color: #fff;
		}

		.bt-prize-list,
		.bt-omit-list {
			list-style: none;
			margin: 0;
			padding: 0;
			display: flex;
			flex-direction: column;
			gap: 8px;
		}

		.bt-prize-item {
			padding: 10px;
			background: #fafbfc;
			border-radius: 10px;
			border: 1px solid #efefef;
		}

		.bt-prize-item__top {
			display: flex;
			align-items: center;
			gap: 8px;
			flex-wrap: wrap;
			margin-bottom: 8px;
		}

		.bt-prize-hint {
			width: 100%;
			margin: 0 0 2px;
			font-size: 0.7rem;
			color: #aaa;
		}

		.bt-prize-badge {
			font-size: 0.78rem;
			font-weight: 700;
			color: #c0392b;
			background: #fdecea;
			padding: 2px 8px;
			border-radius: 4px;
		}

		.bt-prize-count {
			font-size: 0.84rem;
			font-weight: 700;
			color: #333;
		}

		.bt-prize-issue {
			margin-left: auto;
			font-size: 0.75rem;
			color: #999;
		}

		.bt-draw-scroll {
			display: flex;
			align-items: center;
			gap: 4px;
			overflow-x: auto;
			-webkit-overflow-scrolling: touch;
			padding-bottom: 2px;
		}

		.bt-draw-scroll .bt-ball--sm {
			width: 22px;
			height: 22px;
			font-size: 0.68rem;
		}

		.bt-omit-item {
			display: flex;
			gap: 10px;
			align-items: flex-start;
			padding: 10px;
			background: #fafbfc;
			border-radius: 10px;
			border: 1px solid #efefef;
		}

		.bt-omit-body { flex: 1; min-width: 0; }

		.bt-omit-row {
			display: flex;
			align-items: baseline;
			gap: 6px;
			flex-wrap: wrap;
			margin-bottom: 4px;
		}

		.bt-omit-label {
			font-size: 0.75rem;
			color: #888;
		}

		.bt-omit-current {
			font-size: 1.1rem;
			font-weight: 700;
			color: #e74c3c;
			line-height: 1;
		}

		.bt-omit-hit {
			margin-left: auto;
			font-size: 0.75rem;
			color: #666;
		}

		.bt-omit-sub {
			font-size: 0.72rem;
			color: #aaa;
			margin-bottom: 6px;
		}

		.bt-empty-card {
			text-align: center;
			color: #999;
			font-size: 0.84rem;
			padding: 20px 10px;
		}

		.bt-footnote {
			margin: 0;
			padding: 0 4px;
			font-size: 0.72rem;
			color: #aaa;
			line-height: 1.45;
			text-align: center;
		}

		.bt-pattern-legend {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			gap: 10px 14px;
			margin: 0 0 10px;
			padding: 6px 8px;
			background: #f8f9fb;
			border-radius: 6px;
			font-size: 0.72rem;
			color: #888;
		}

		.bt-pattern-legend span {
			display: inline-flex;
			align-items: center;
			gap: 4px;
		}

		.bt-legend-dot {
			display: inline-block;
			width: 8px;
			height: 8px;
			border-radius: 50%;
			border: 1px solid #ccc;
			background: #fff;
			font-style: normal;
		}

		.bt-legend-dot.is-hit.bt-hit-dot--red {
			background: #e74c3c;
			border-color: #e74c3c;
		}

		.bt-legend-dot.is-hit.bt-hit-dot--blue {
			background: #3498db;
			border-color: #3498db;
		}

		.bt-legend-dir { margin-left: auto; color: #bbb; }

		.bt-hit-pattern {
			display: flex;
			align-items: center;
			gap: 3px;
			flex-wrap: nowrap;
		}

		.bt-hit-dot {
			width: 8px;
			height: 8px;
			border-radius: 50%;
			border: 1px solid #d5d5d5;
			background: #fff;
			flex-shrink: 0;
			box-sizing: border-box;
		}

		.bt-hit-dot.is-hit.bt-hit-dot--red {
			background: #e74c3c;
			border-color: #e74c3c;
		}

		.bt-hit-dot.is-hit.bt-hit-dot--blue {
			background: #3498db;
			border-color: #3498db;
		}

		.backtest-modal__close {
			border: none;
			background: #f1f3f5;
			width: 32px;
			height: 32px;
			border-radius: 50%;
			cursor: pointer;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			padding: 0;
			margin: 0;
			line-height: 1;
			font-size: 1.35rem;
			font-weight: 400;
			color: #666;
			flex-shrink: 0;
			-webkit-tap-highlight-color: transparent;
		}

		.clear-history {
			padding: 8px 6px;
			background: #e74c3c;
			color: white;
			border: none;
			border-radius: 6px;
			font-size: 0.78rem;
			cursor: pointer;
			min-height: 40px;
			min-width: 0;
			white-space: nowrap;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 4px;
		}

		.copy-all-history {
			padding: 8px 6px;
			background: #fff;
			color: #27ae60;
			border: 2px solid #27ae60;
			border-radius: 6px;
			font-size: 0.78rem;
			cursor: pointer;
			min-height: 40px;
			min-width: 0;
			white-space: nowrap;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 4px;
		}

		.copy-all-history:hover {
			background: #eafaf1;
		}

		.history-list {
			display: flex;
			flex-direction: column;
			gap: 6px;
		}

		.history-item {
			background: #f8f9fa;
			border: 1px solid #dee2e6;
			border-radius: 4px;
			padding: 6px 8px;
		}

		.history-item-header {
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin-bottom: 4px;
			padding-bottom: 3px;
			border-bottom: 1px solid #eee;
			gap: 6px;
		}

		.history-item-title {
			font-weight: 600;
			color: #e74c3c;
			font-size: 0.78rem;
			white-space: nowrap;
			overflow: hidden;
			text-overflow: ellipsis;
			min-width: 0;
		}

		.history-item-buttons {
			display: flex;
			gap: 3px;
			flex-shrink: 0;
			flex-wrap: wrap;
			justify-content: flex-end;
		}

		.history-delete-btn {
			padding: 2px 5px !important;
			font-size: 0.72rem !important;
		}

		.history-analyze-btn {
			border: none;
			background: linear-gradient(135deg, #3498db, #2980b9);
			color: #fff;
			padding: 2px 6px;
			border-radius: 4px;
			font-size: 0.72rem;
			cursor: pointer;
			white-space: nowrap;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 3px;
			flex-shrink: 0;
		}

		.history-analyze-btn:hover {
			filter: brightness(1.05);
		}

		.history-analyze-btn i {
			font-size: 0.7rem;
		}

		/* 历史记录中的球 */
		.history-body {
			display: flex;
			flex-direction: column;
			gap: 4px;
		}

		.history-body-compact {
			gap: 0;
		}

		.history-pick-line {
			display: flex;
			align-items: center;
			gap: 6px;
			flex-wrap: wrap;
		}

		.history-pick-line > .history-ball-row {
			flex: 1;
			min-width: 0;
		}

		.history-plus {
			color: #aaa;
			font-size: 0.72rem;
			line-height: 1;
			margin: 0 1px;
			flex-shrink: 0;
		}

		.history-amount-inline-wrap {
			display: inline-flex;
			align-items: center;
			gap: 4px;
			margin-left: auto;
			flex-shrink: 0;
		}

		.history-amount-inline {
			font-size: 0.78rem;
			font-weight: bold;
			color: #e74c3c;
			white-space: nowrap;
		}

		.history-group {
			display: flex;
			flex-direction: column;
			gap: 6px;
		}

		.history-group-inline {
			flex-direction: row;
			align-items: center;
			gap: 6px;
		}

		.history-group-label {
			font-size: 0.72rem;
			color: #888;
			font-weight: 600;
			line-height: 1.2;
			flex-shrink: 0;
		}

		.history-group-inline .history-group-label {
			min-width: 2em;
		}

		.history-ball-row {
			display: flex;
			flex-wrap: wrap;
			gap: 3px;
			align-items: center;
		}

		.history-ball {
			width: 24px;
			height: 24px;
			line-height: 24px;
			border-radius: 50%;
			text-align: center;
			font-size: 0.72rem;
			font-weight: bold;
			flex-shrink: 0;
			box-sizing: border-box;
		}

		.history-ball.red {
			color: #c0392b;
			background: #ffebee;
			border: 1px solid #ffcdd2;
		}

		.history-ball.tuo {
			color: #ef6c00;
			background: #fff3e0;
			border: 1px solid #ffcc80;
		}

		.history-ball.blue {
			color: #1976d2;
			background: #e3f2fd;
			border: 1px solid #bbdefb;
		}

		/* 胆码历史球：金边标识 */
		.history-ball.dan {
			border: 2px solid #f39c12;
			box-shadow: inset 0 0 0 1px rgba(243, 156, 18, 0.25);
		}

		.history-blue-all {
			display: inline-flex;
			align-items: center;
			padding: 4px 10px;
			background: #3498db;
			color: #fff;
			font-size: 0.78rem;
			font-weight: bold;
			border-radius: 14px;
		}

		.history-meta {
			display: flex;
			justify-content: flex-end;
			align-items: center;
			gap: 6px;
			flex-wrap: wrap;
			padding-top: 4px;
			margin-top: 2px;
			border-top: 1px dashed #eee;
		}

		.history-meta-right {
			display: flex;
			align-items: center;
			gap: 10px;
			margin-left: auto;
		}

		.history-meta-notes {
			font-size: 0.82rem;
			color: #666;
		}

		.history-amount {
			font-size: 0.82rem;
			font-weight: bold;
			color: #e74c3c;
			white-space: nowrap;
		}

		.history-info {
			display: flex;
			justify-content: space-between;
			font-size: 0.85rem;
			color: #666;
		}

		/* 开奖数据获取失败样式 */
		.result-error {
			color: #e74c3c;
			font-weight: bold;
			font-size: 0.9rem;
			padding: 5px 10px;
			background-color: #ffeaea;
			border-radius: 4px;
			border: 1px solid #ffcccc;
		}

		/* 加载模态窗口样式 */
		.loading-modal {
			position: fixed;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background: rgba(0, 0, 0, 0.5);
			display: flex;
			align-items: center;
			justify-content: center;
			z-index: 2000;
			class="glass-xs"
		}

		.loading-modal-content {
			background: white;
			border-radius: 10px;
			padding: 40px;
			box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 20px;
			min-width: 300px;
			max-width: 400px;
			text-align: center;
		}

		.loading-spinner {
			width: 50px;
			height: 50px;
			border: 5px solid #f3f3f3;
			border-top: 5px solid #3498db;
			border-radius: 50%;
			animation: spin 1s linear infinite;
		}

		@keyframes spin {
			0% { transform: rotate(0deg); }
			100% { transform: rotate(360deg); }
		}

		.loading-message {
			font-size: 16px;
			color: #333;
			font-weight: 500;
		}

		/* 提示消息（底部居中，避免 transform 与动画冲突） */
		#toast {
			position: fixed;
			left: 16px;
			right: 16px;
			bottom: max(24px, env(safe-area-inset-bottom, 0px));
			margin-inline: auto;
			width: fit-content;
			max-width: min(calc(100vw - 32px), 360px);
			background: rgba(0, 0, 0, 0.85);
			color: #fff;
			padding: 12px 20px;
			border-radius: 24px;
			font-size: 0.95rem;
			line-height: 1.45;
			text-align: center;
			z-index: 10000;
			opacity: 0;
			pointer-events: none;
			box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
			transition: opacity 0.25s ease;
			display: none;
			box-sizing: border-box;
			word-break: break-word;
		}

		#toast.show {
			opacity: 1;
			display: block;
		}

		#toast.show.success {
			background: rgba(39, 174, 96, 0.95);
		}

		#toast.show.warning {
			background: rgba(243, 156, 18, 0.95);
		}

		#toast.show.error {
			background: rgba(231, 76, 60, 0.95);
		}

		#toast.show.info {
			background: rgba(52, 152, 219, 0.95);
		}

		.loading-overlay {
			position: fixed;
			inset: 0;
			z-index: 9999;
			display: none;
			align-items: center;
			justify-content: center;
			padding: 20px;
			box-sizing: border-box;
			background: rgba(0, 0, 0, 0.5);
		}

		.loading-overlay.is-visible {
			display: flex;
		}

		.loading-overlay__box {
			background: #fff;
			padding: 20px 24px;
			border-radius: 10px;
			text-align: center;
			max-width: min(92vw, 320px);
			box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
		}

		/* 复制按钮样式 */
		.copy-btn {
			padding: 2px 6px;
			background: #3498db;
			color: white;
			border: none;
			border-radius: 3px;
			font-size: 0.7rem;
			cursor: pointer;
			display: flex;
			align-items: center;
			gap: 3px;
			transition: background-color 0.2s;
		}

		.copy-btn:hover {
			background: #2980b9;
		}

		.copy-btn i {
			font-size: 0.6rem;
		}

        .footer {
            padding: 15px 20px;
            text-align: center;
            color: #ffffff;
            font-size: 12px;
            background: transparent;
        }

		/* 选号小窗口样式 */
		.ball-selector-modal {
			display: none;
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			z-index: 10050;
			justify-content: center;
			align-items: center;
		}

		.ball-selector-modal.active {
			display: flex;
		}

		.ball-selector-modal .modal-overlay {
			z-index: 10050;
		}

		.ball-selector-modal .modal-content {
			z-index: 10051;
			max-height: min(92dvh, 640px);
			width: min(92vw, 420px);
		}

		.modal-overlay {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: rgba(0, 0, 0, 0.5);
			z-index: 1;
		}

		.modal-content {
			position: relative;
			background: white;
			border-radius: 8px;
			box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
			max-width: 90%;
			max-height: 90%;
			overflow: hidden;
			display: flex;
			flex-direction: column;
			z-index: 2;
		}

		.modal-header {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 15px 20px;
			border-bottom: 1px solid #dee2e6;
			background: linear-gradient(to right, #e74c3c, #c0392b);
			color: white;
		}

		.modal-header h3 {
			font-size: 1.1rem;
			font-weight: bold;
		}

		.modal-close {
			background: none;
			border: none;
			color: white;
			font-size: 1.2rem;
			cursor: pointer;
			padding: 0;
			width: 30px;
			height: 30px;
			display: flex;
			align-items: center;
			justify-content: center;
			transition: transform 0.2s;
		}

		.modal-close:hover {
			transform: rotate(90deg);
		}

		.modal-body {
			padding: 15px 20px;
			flex: 1 1 auto;
			min-height: 0;
			overflow-x: hidden;
			overflow-y: auto;
			-webkit-overflow-scrolling: touch;
			overscroll-behavior: contain;
		}

		.ball-selector-modal .modal-close,
		.ball-selector-modal .modal-btn {
			touch-action: manipulation;
			-webkit-tap-highlight-color: transparent;
		}

		.modal-info {
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
			gap: 10px;
			margin-bottom: 15px;
			padding: 10px;
			background: #f8f9fa;
			border-radius: 4px;
		}

		.modal-info-main {
			display: flex;
			flex-direction: column;
			gap: 4px;
			min-width: 0;
		}

		.modal-balls {
			display: grid;
			grid-template-columns: repeat(8, minmax(0, 1fr));
			gap: 8px;
			padding-bottom: 8px;
		}

		.ball-selector-modal .modal-ball {
			width: 100%;
			max-width: 44px;
			height: auto;
			aspect-ratio: 1;
			margin: 0 auto;
			line-height: 1;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			padding: 0;
			font-family: inherit;
			-webkit-appearance: none;
			appearance: none;
			touch-action: manipulation;
			-webkit-tap-highlight-color: rgba(0, 0, 0, 0.08);
			user-select: none;
		}

		.modal-ball {
			width: 45px;
			height: 45px;
			line-height: 45px;
			text-align: center;
			border-radius: 50%;
			background: #f8f9fa;
			border: 2px solid #dee2e6;
			font-size: 1rem;
			font-weight: bold;
			cursor: pointer;
			transition: transform 0.2s, box-shadow 0.2s;
		}

		.modal-ball:hover {
			transform: scale(1.05);
			box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
		}

		.modal-ball.selected {
			background: #e74c3c;
			color: white;
			border-color: #c0392b;
		}

		.modal-ball.blue.selected {
			background: #3498db;
			border-color: #2980b9;
		}

		.modal-ball.killed {
			opacity: 0.4;
			background: #ececec !important;
			color: #999 !important;
			border-color: #ddd !important;
			cursor: not-allowed;
			pointer-events: none;
		}

		.modal-ball.fixed-dan-locked {
			background: #f39c12 !important;
			color: #fff !important;
			border-color: #e67e22 !important;
			cursor: not-allowed;
			opacity: 1;
		}

		.modal-ball.blue.fixed-dan-locked {
			background: #3498db !important;
			border-color: #2980b9 !important;
		}

		.modal-ball.fixed-dan-locked.selected {
			box-shadow: 0 0 0 2px rgba(243, 156, 18, 0.35);
		}

		.modal-fixed-dan-hint {
			display: none;
			font-size: 0.75rem;
			line-height: 1.35;
			color: #e67e22;
			margin-top: 4px;
		}

		.modal-fixed-dan-hint.is-visible {
			display: block;
		}

		.pick-disclaimer {
			margin: 8px 4px 12px;
			padding: 10px 12px;
			font-size: 0.8rem;
			line-height: 1.55;
			color: #856404;
			background: #fff8e6;
			border: 1px solid #ffe08a;
			border-radius: 8px;
			text-align: left;
		}

		.modal-footer {
			display: flex;
			gap: 10px;
			padding: 15px 20px;
			border-top: 1px solid #dee2e6;
		}

		.modal-btn {
			flex: 1;
			padding: 10px 20px;
			border: none;
			border-radius: 4px;
			font-size: 0.95rem;
			cursor: pointer;
			transition: background-color 0.2s;
		}

		.modal-btn.confirm {
			background: #e74c3c;
			color: white;
		}

		.modal-btn.confirm:hover {
			background: #c0392b;
		}

		.modal-btn.cancel {
			background: #6c757d;
			color: white;
		}

		.modal-btn.cancel:hover {
			background: #5a6268;
		}

		.modal-btn.clear {
			background: #ffc107;
			color: #333;
			flex: 0 0 auto;
			padding: 6px 15px;
			font-size: 0.85rem;
		}

		.modal-btn.clear:hover {
			background: #e0a800;
		}

		/* 响应式调整 */
		@media (max-width: 768px) {
			body {
				padding: 0 3px 3px;
			}

			.container {
				margin: 0;
				padding: 0 4px;
			}

			.lottery-title {
				font-size: 1.1rem;
			}

			.lottery-subtitle {
				font-size: 0.8rem;
			}

			/* 期号和投注类型移动端优化 */
			.period-and-bet-wrapper {
				flex-direction: column;
				align-items: stretch;
			}

			.period-and-bet-wrapper .period-info {
				border-right: none;
				border-bottom: 1px solid #dee2e6;
			}

			.period-detail {
				flex-direction: row;
				gap: 10px;
				align-items: center;
				font-size: 0.8rem;
			}

			.period-detail span {
				white-space: nowrap;
			}

			.bet-type-selector {
				flex-wrap: wrap;
				overflow-x: hidden;
				padding-bottom: 2px;
			}

			.bet-type-selector--modes .bet-type {
				flex: 1 1 30%;
				max-width: none;
			}

			.bet-type-selector--tools .bet-type {
				flex: 1 1 calc(50% - 6px);
				max-width: none;
				font-size: 0.8rem;
				padding: 8px 6px;
			}

			.bet-type {
				white-space: nowrap;
				min-width: 0;
				flex: 1 1 calc(33.333% - 6px);
				max-width: calc(33.333% - 6px);
				text-align: center;
				font-size: 0.85rem;
				padding: 8px 6px;
			}

			/* 调整AI参与开关的宽度 */
			.bet-type.ai-toggle {
				flex: 1 1 calc(50% - 6px);
				max-width: none;
				justify-content: center;
			}

			/* 单式表格移动端：卡片布局 */
			.single-bet-container {
				padding: 0;
			}

			.single-bet-container .bet-table {
				border: none;
				background: transparent;
				margin-bottom: 10px;
			}

			.single-bet-container .bet-table thead {
				display: none;
			}

			.single-bet-container .bet-table,
			.single-bet-container .bet-table tbody {
				display: block;
				width: 100%;
			}

			.single-bet-container .bet-table tr.single-bet-row {
				display: flex;
				flex-wrap: nowrap;
				align-items: center;
				gap: 4px;
				padding: 6px 4px;
				margin-bottom: 8px;
				background: #fff;
				border: 1px solid #dee2e6;
				border-radius: 10px;
				box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
			}

			.single-bet-container .bet-table tr.single-bet-row td {
				border: none;
				padding: 0;
				height: auto;
				text-align: left;
			}

			.single-bet-container .bet-table .col-no {
				flex: 0 0 auto;
			}

			.single-bet-container .row-index {
				min-width: 24px;
				height: 24px;
				padding: 0 5px;
				font-size: 0.9rem;
			}

			.single-bet-container .bet-table .col-picks {
				flex: 1 1 auto;
				min-width: 0;
				width: auto;
				overflow-x: auto;
				-webkit-overflow-scrolling: touch;
			}

			.single-bet-container .bet-table .col-op {
				flex: 0 0 auto;
				margin-left: 0;
			}

			.single-bet-container .single-pick-line {
				flex-wrap: nowrap;
				justify-content: flex-start;
				gap: 3px;
				width: 100%;
			}

			.single-bet-container .single-pick-line .ball-cell.red {
				flex: 0 0 auto;
				min-width: 0;
			}

			.single-bet-container .single-pick-line .ball-cell.blue {
				flex: 0 0 auto;
			}

			.single-bet-container .single-pick-line .ball-cell:not(.selected) {
				min-height: 36px;
				padding: 6px 8px;
				border-radius: 6px;
				border-width: 1px;
				border-style: dashed;
				font-size: 0.88rem;
				white-space: nowrap;
				flex: 1 1 0;
				min-width: 0;
				text-align: center;
			}

			.single-bet-container .single-pick-line .ball-cell.red:not(.selected) {
				border-color: #f5c6cb;
				background: #fffafa;
			}

			.single-bet-container .single-pick-line .ball-cell.blue:not(.selected) {
				border-color: #bbdefb;
				background: #f8fbff;
			}

			.single-bet-container .pick-balls {
				flex-wrap: nowrap;
				justify-content: flex-start;
				gap: 3px;
			}

			.single-bet-container .pick-ball {
				width: 30px;
				height: 30px;
				line-height: 30px;
				font-size: 1rem;
			}

			.single-bet-container .row-buttons {
				flex-direction: row;
				gap: 4px;
				flex-wrap: nowrap;
			}

			.single-bet-container .row-btn {
				padding: 0 6px;
				font-size: 0.72rem;
				min-width: 32px;
				min-height: 32px;
			}

			.single-bet-container .row-btn.auto {
				min-width: 36px;
			}

			.single-bet-container .row-btn.delete {
				min-width: 32px;
				padding: 0;
				font-weight: 600;
			}

			.history-header-buttons {
				grid-template-columns: repeat(3, minmax(0, 1fr));
			}

			.history-header-buttons i {
				display: none;
			}

			.pick-flow-steps {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}

			.history-item-header {
				flex-direction: column;
				align-items: stretch;
			}

			.history-item-buttons {
				display: grid;
				grid-template-columns: repeat(3, minmax(0, 1fr));
				justify-content: stretch;
			}

			.history-item-buttons button {
				width: 100%;
				justify-content: center;
			}

			.ball-slot {
				width: 24px;
				height: 24px;
				line-height: 24px;
				font-size: 0.8rem;
			}

			.grid-ball {
				width: 40px;
				height: 40px;
				line-height: 40px;
				font-size: 1.05rem;
			}

			.settings-row {
				flex-direction: column;
				gap: 10px;
			}

			.settings-row--pair,
			.multiple-settings .settings-row {
				flex-direction: row;
				flex-wrap: nowrap;
				gap: 8px;
				margin-bottom: 0;
			}

			.settings-row--pair .setting-item,
			.multiple-settings .setting-item {
				flex: 1 1 0;
				min-width: 0;
			}

			.multiple-settings {
				padding: 8px 6px;
			}

			.multiple-settings .lbl-long {
				display: none;
			}

			.multiple-settings .lbl-short {
				display: inline;
			}

			.multiple-settings .setting-item label {
				font-size: 0.88rem;
				margin-bottom: 4px;
				white-space: nowrap;
			}

			.multiple-settings .setting-select {
				font-size: 0.85rem;
				padding: 8px 6px;
			}

			.setting-item {
				min-width: 100%;
			}

			.settings-row--pair .setting-item,
			.multiple-settings .setting-item {
				min-width: 0;
			}

			/* 胆拖三项：移动端单行三列 */
			.dan-settings {
				padding: 8px 6px;
			}

			.dan-settings .settings-row--dan {
				flex-direction: row;
				flex-wrap: nowrap;
				gap: 6px;
				margin-bottom: 0;
			}

			.dan-settings .settings-row--dan .setting-item {
				flex: 1 1 0;
				min-width: 0;
			}

			.dan-settings .settings-row--dan .setting-item--tuo {
				flex: 1.4 1 0;
			}

			.dan-settings .lbl-long {
				display: none;
			}

			.dan-settings .lbl-short {
				display: inline;
			}

			.dan-settings .setting-item label {
				font-size: 0.88rem;
				margin-bottom: 4px;
				white-space: nowrap;
				text-align: center;
			}

			.dan-settings .setting-select {
				font-size: 0.85rem;
				padding: 8px 4px;
				text-align: center;
				text-align-last: center;
			}

			.control-panel {
				flex-direction: row;
				flex-wrap: nowrap;
				gap: 6px;
				padding: 10px 6px;
			}

			.control-btn {
				flex: 1 1 0;
				min-width: 0;
				padding: 10px 4px;
				font-size: 0.82rem;
				min-height: 44px;
			}

			.last-result {
				flex-direction: column;
				align-items: flex-start;
				gap: 10px;
			}

			.result-label,
			.result-period {
				font-size: 0.85rem;
			}

			.result-ball {
				width: 32px;
				height: 32px;
				line-height: 32px;
				font-size: 1rem;
			}

			#toast {
				left: 12px;
				right: 12px;
				bottom: max(16px, env(safe-area-inset-bottom, 0px));
				max-width: calc(100vw - 24px);
				font-size: 0.9rem;
				padding: 10px 16px;
			}

			.loading-overlay {
				padding: 16px;
			}

			.ball-selector-modal.active {
				padding: 12px;
				box-sizing: border-box;
			}

			.history-header-buttons {
				grid-template-columns: repeat(3, minmax(0, 1fr));
				gap: 6px;
			}

			.history-item-buttons {
				flex-direction: row;
				flex-wrap: wrap;
				gap: 3px;
				align-items: center;
				justify-content: flex-end;
			}

			.history-item-buttons button {
				padding: 4px 8px;
				font-size: 0.75rem;
			}

			.history-item-title {
				font-size: 0.8rem;
				flex: 1;
				min-width: 0;
			}

			/* 选号小窗口移动端优化 */
			.modal-content {
				max-width: 95%;
				max-height: 95%;
			}

			.modal-header {
				padding: 12px 15px;
			}

			.modal-header h3 {
				font-size: 1rem;
			}

			.modal-body {
				padding: 12px 15px;
			}

			.modal-balls {
				grid-template-columns: repeat(7, minmax(0, 1fr));
				gap: 6px;
			}

			.ball-selector-modal .modal-ball {
				max-width: 100%;
				font-size: 0.85rem;
			}

			.modal-footer {
				padding: 12px 15px;
			}

			.modal-btn {
				padding: 8px 15px;
				font-size: 0.9rem;
			}
            
            .footer {
                background: transparent;
                padding: 10px 15px;
            }

			.history-body {
				gap: 4px;
			}

			.history-ball {
				width: 22px;
				height: 22px;
				line-height: 22px;
				font-size: 0.68rem;
			}

			.fixed-dan-ball,
			.kill-dan-ball {
				width: 40px;
				height: 40px;
				line-height: 40px;
				font-size: 1.05rem;
			}

			.panel-header {
				align-items: flex-start;
				padding: 10px 12px;
				gap: 10px;
			}

			.panel-header-desc {
				font-size: 0.8rem;
			}

			.panel-header-actions {
				flex-direction: row;
				flex-wrap: nowrap;
			}

			.fixed-dan-btn,
			.kill-dan-btn {
				padding: 6px 10px;
				font-size: 0.82rem;
				min-height: 34px;
			}

			.kill-dan-balls {
				gap: 6px;
			}
		}

		@media (max-width: 480px) {
			.lottery-title {
				font-size: 1rem;
			}

			.lottery-subtitle {
				font-size: 0.75rem;
			}

			/* 小屏保持字号，不缩小球号 */
			.single-bet-container .pick-ball {
				width: 30px;
				height: 30px;
				line-height: 30px;
				font-size: 1rem;
			}

			.single-bet-container .row-btn {
				min-width: 28px;
				min-height: 28px;
				font-size: 0.68rem;
				padding: 0 4px;
			}

			.bet-type {
				font-size: 0.8rem;
				padding: 5px 8px;
				min-width: 60px;
			}

			.history-item-buttons button {
				padding: 3px 6px;
				font-size: 0.7rem;
			}

			.history-item-title {
				font-size: 0.75rem;
			}

			/* 超小屏幕期号优化 */
			.period-info {
				padding: 8px 10px;
			}

			.period-detail {
				font-size: 0.8rem;
			}

			/* 超小屏幕选号小窗口优化 */
			.modal-ball {
				width: 38px;
				height: 38px;
				line-height: 38px;
				font-size: 0.85rem;
			}

			.modal-balls {
				gap: 6px;
				grid-template-columns: repeat(auto-fill, minmax(38px, 1fr));
			}
		}

	@media (min-width: 769px) {
		body {
			padding: 0 0 36px;
		}

		.container {
			padding: 0 20px;
		}

		.header {
			border-radius: 12px;
			box-shadow: 0 6px 28px rgba(0, 0, 0, 0.12);
		}

		.lottery-header {
			padding: 14px 24px;
			border-radius: 12px 12px 0 0;
		}

		.lottery-title {
			font-size: 1.55rem;
		}

		.lottery-subtitle {
			font-size: 0.95rem;
			padding: 6px 14px;
		}

		.last-result {
			padding: 14px 24px;
			justify-content: center;
			gap: 20px;
		}

		.result-ball {
			width: 36px;
			height: 36px;
			line-height: 36px;
			font-size: 1.05rem;
		}

		.period-and-bet-wrapper {
			border-bottom: 1px solid #dee2e6;
		}

		.period-info {
			flex: 0 0 auto;
			padding: 14px 22px;
			display: flex;
			align-items: center;
		}

		.period-detail {
			gap: 28px;
			font-size: 0.95rem;
		}

		.bet-type-toolbar {
			flex-direction: row;
			flex-wrap: wrap;
			align-items: center;
			padding: 10px 18px;
			gap: 10px 14px;
			border-bottom: none;
		}

		.bet-type-selector {
			padding: 0;
			gap: 8px;
		}

		.bet-type-selector--modes {
			flex: 0 0 auto;
			padding-right: 14px;
			margin-right: 2px;
			border-right: 1px solid #dee2e6;
		}

		.bet-type-selector--tools {
			flex: 1 1 auto;
			border-top: none;
			justify-content: flex-start;
		}

		.bet-type {
			padding: 9px 18px;
			font-size: 0.92rem;
		}

		.ai-tools-hint {
			flex: 1 1 100%;
			text-align: center;
			padding: 0 4px 2px;
			font-size: 0.78rem;
		}

		.single-bet-container,
		.multiple-bet-container,
		.dan-bet-container,
		.history-panel,
		.fixed-dan-container,
		.kill-dan-container,
		.ai-container {
			padding: 0;
			border-radius: 10px;
			box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07);
			overflow: visible;
			flex-direction: column;
		}

		.kill-dan-content,
		.fixed-dan-content,
		.ai-content {
			overflow: visible;
		}

		.kill-dan-balls {
			display: flex;
			flex-wrap: wrap;
			gap: 8px;
		}

		#killBlueBalls.kill-dan-balls {
			grid-template-columns: unset;
		}

		.kill-dan-balls .kill-dan-ball {
			width: 36px !important;
			height: 36px !important;
			aspect-ratio: auto;
			font-size: 0.88rem;
			flex-shrink: 0;
		}

		.fixed-dan-ball,
		.kill-dan-ball {
			width: 36px;
			height: 36px;
			line-height: 36px;
			font-size: 0.88rem;
		}

		.single-bet-container .bet-table {
			border-radius: 8px;
			overflow: hidden;
			box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
		}

		.bet-table th {
			padding: 12px 16px;
			font-size: 0.9rem;
		}

		.bet-table td {
			padding: 14px 16px;
			height: 52px;
		}

		.ball-cell.red {
			min-width: 340px;
			padding: 10px 16px;
		}

		.pick-ball {
			width: 36px;
			height: 36px;
			line-height: 36px;
			font-size: 1.05rem;
		}

		.row-btn {
			padding: 8px 14px;
			min-height: 40px;
		}

		.multiple-settings,
		.dan-settings,
		.ball-selector-panel,
		.dan-panel,
		.bet-info-panel,
		.dan-play-tip {
			border-radius: 8px;
		}

		.multiple-settings {
			max-width: 720px;
		}

		#multipleBetPanel .ball-selector-panel:last-child .selector-title h4 {
			color: #3498db;
		}

		.settings-row--pair .setting-item {
			min-width: 180px;
			max-width: 280px;
		}

		.dan-settings .settings-row--dan .setting-item {
			min-width: 0;
		}

		.ball-selector-panel,
		.dan-section {
			box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
		}

		.selector-title h4 {
			font-size: 1.05rem;
		}

		.selector-btn {
			padding: 6px 14px;
			font-size: 0.85rem;
			border-radius: 4px;
		}

		.ball-grid {
			gap: 8px;
			justify-content: center;
		}

		.grid-ball {
			width: 44px;
			height: 44px;
			line-height: 44px;
			font-size: 1.05rem;
		}

		.bet-info-panel {
			padding: 16px 22px;
			margin-top: 4px;
		}

		.bet-info-row {
			font-size: 1rem;
		}

		.bet-amount {
			font-size: 1.35rem;
		}

		.control-panel {
			justify-content: center;
			padding: 18px 24px;
			margin-top: 4px;
			border-radius: 8px;
			background: #fff;
			border: 1px solid #dee2e6;
		}

		.control-btn {
			flex: 0 1 200px;
			max-width: 220px;
			padding: 13px 20px;
		}

		.history-panel {
			border-top: 1px solid #dee2e6;
			margin-top: 4px;
		}

		.history-header h3 {
			font-size: 1.2rem;
		}

		.history-item {
			padding: 6px 10px;
			border-radius: 6px;
			transition: box-shadow 0.2s;
		}

		.history-item:hover {
			box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
		}

		.panel-header {
			padding: 16px 22px;
		}

		.fixed-dan-content,
		.kill-dan-content {
			padding: 16px 22px 20px;
		}

		.instructions-panel {
			margin: 16px 24px 24px;
		}

		.page-layout-desktop {
			padding: 8px 14px 16px;
		}

		.page-layout-side .history-panel {
			padding: 12px 10px;
		}

		.page-layout-side .pick-disclaimer {
			padding: 12px 10px 0;
		}

		.history-item-buttons .copy-btn,
		.history-item-buttons .selector-btn {
			min-height: 28px;
			height: 28px;
			padding: 0 10px;
			font-size: 0.75rem;
			border-radius: 6px;
			width: auto;
			box-sizing: border-box;
			justify-content: center;
			line-height: 1;
		}

		.history-pick-line {
			flex-wrap: nowrap;
			align-items: center;
		}

		.history-pick-line > .history-ball-row {
			flex: 1 1 auto;
			flex-wrap: nowrap;
		}
	}

	@media (min-width: 992px) {
		.dan-tools-grid {
			display: grid;
			grid-template-columns: 1fr minmax(260px, 320px);
			gap: 16px 24px;
			align-items: start;
		}

		.dan-tools-grid .fixed-dan-section--red,
		.dan-tools-grid .kill-dan-section--red {
			grid-column: 1;
			margin-bottom: 0;
			padding-bottom: 0;
			border-bottom: none;
		}

		.dan-tools-grid .fixed-dan-section--blue,
		.dan-tools-grid .kill-dan-section--blue {
			grid-column: 2;
			margin-bottom: 0;
			padding-bottom: 0;
			border-bottom: none;
			padding-left: 20px;
			border-left: 1px dashed #dee2e6;
		}

		.dan-tools-grid .fixed-dan-section--footer,
		.dan-tools-grid .kill-dan-section--footer {
			grid-column: 1 / -1;
			margin-bottom: 0;
			padding-top: 12px;
			border-top: 1px dashed #dee2e6;
			border-bottom: none;
		}

		.pick-panels-grid--dual {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 16px;
			margin-bottom: 16px;
			align-items: start;
		}

		.pick-panels-grid--dual > .ball-selector-panel,
		.pick-panels-grid--dual > .dan-section {
			margin-bottom: 0;
		}

		.dan-section--blue {
			padding: 14px;
			border-left: 4px solid #3498db;
			background: #f0f8ff;
			border-radius: 4px;
		}

		.dan-section--blue .dan-section-title {
			color: #2980b9;
		}

		#blueBallGrid {
			max-width: 520px;
			margin-left: auto;
			margin-right: auto;
		}

		#danBlueBallGrid {
			justify-content: center;
		}

		.history-list:not(:empty) {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 12px;
		}

		.page-layout-side .history-list:not(:empty) {
			grid-template-columns: 1fr;
			gap: 8px;
		}

		.history-list .history-empty {
			grid-column: 1 / -1;
		}
	}

	@media (min-width: 1200px) {
		.container {
			max-width: 1180px;
			padding: 0 24px;
		}

		.ball-slot {
			width: 32px;
			height: 32px;
			line-height: 32px;
			font-size: 1rem;
		}

		.grid-ball {
			width: 46px;
			height: 46px;
			line-height: 46px;
			font-size: 1.1rem;
		}

		.result-ball {
			width: 38px;
			height: 38px;
			line-height: 38px;
		}

		.page-layout-desktop {
			display: grid;
			grid-template-columns: minmax(0, 1fr) 400px;
			gap: 20px;
			align-items: start;
			padding: 12px 20px 24px;
		}

		.page-layout-main {
			min-width: 0;
		}

		.page-layout-side {
			position: sticky;
			top: 16px;
			max-height: calc(100vh - 32px);
			overflow-y: auto;
		}

		.page-layout-side .history-item-header {
			flex-direction: column;
			align-items: stretch;
			gap: 8px;
		}

		.page-layout-side .history-item-title {
			font-size: 0.85rem;
		}

		.page-layout-side .history-item-buttons {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 6px;
			width: 100%;
		}

		.page-layout-side .history-item-buttons .copy-btn,
		.page-layout-side .history-item-buttons .selector-btn {
			width: 100%;
			height: 32px;
			min-height: 32px;
		}

		.page-layout-side .history-panel {
			border-top: none;
			padding: 16px 12px 12px;
		}

		.page-layout-side .pick-disclaimer {
			padding: 12px 12px 0;
			font-size: 0.82rem;
		}

		.page-layout-side .history-list:not(:empty) {
			grid-template-columns: 1fr;
			gap: 8px;
		}
	}

		/* 使用说明 */
		.instructions-panel {
			padding: 5px;
			margin-top: 20px;
			background: #fff;
			border-radius: 6px;
			box-shadow: 0 2px 8px rgba(0,0,0,0.1);
			border: 1px solid #dee2e6;
		}

		.instructions-header {
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin-bottom: 15px;
			padding-bottom: 10px;
			border-bottom: 1px solid #dee2e6;
		}

		.instructions-header h3 {
			color: #3498db;
			font-size: 1.1rem;
			margin: 0;
		}

		.instructions-toggle {
			background: #3498db;
			color: white;
			border: none;
			border-radius: 3px;
			width: 32px;
			height: 32px;
			display: flex;
			align-items: center;
			justify-content: center;
			cursor: pointer;
			transition: background-color 0.3s;
		}

		.instructions-toggle:hover {
			background: #2980b9;
		}

		.instructions-content {
			max-height: 400px;
			overflow-y: auto;
			transition: max-height 0.3s ease;
		}

		.instructions-content.collapsed {
			max-height: 0;
			overflow: hidden;
		}

		.instructions-section {
			margin-bottom: 20px;
			padding-bottom: 15px;
			border-bottom: 1px dashed #dee2e6;
		}

		.instructions-section:last-child {
			border-bottom: none;
			margin-bottom: 0;
			padding-bottom: 0;
		}

		.instructions-section h4 {
			color: #2c3e50;
			font-size: 0.95rem;
			margin-bottom: 10px;
			display: flex;
			align-items: center;
			gap: 8px;
		}

		.instructions-section h4 i {
			color: #3498db;
		}

		.instructions-section ul {
			padding-left: 20px;
			margin: 0;
		}

		.instructions-section li {
			margin-bottom: 8px;
			font-size: 0.85rem;
			line-height: 1.4;
			color: #555;
		}

		.instructions-section li strong {
			color: #333;
		}

		@media (max-width: 768px) {
			.instructions-panel {
				margin-top: 15px;
			}

			.instructions-content {
				max-height: 300px;
			}
		}
