﻿	/* Lotto History Checker - Enhanced Dark Theme */

	.lotto-history-checker {
		max-width: 1200px;
		margin: 0 auto;
		padding: 20px;
		background: #1a1a1a;
		border-radius: 16px;
		box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
		color: #e0e6ed;
		font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	}

	.lotto-history-checker h2 {
		text-align: center;
		margin-bottom: 30px;
		font-size: 2.2rem;
		font-weight: 700;
		background: linear-gradient(45deg, #ffd700, #ffed4a, #f39c12);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		background-clip: text;
		text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
	}

	/* Controls Section */
	.checker-controls {
		background: #2d2d2d;
		backdrop-filter: blur(10px);
		border-radius: 12px;
		padding: 25px;
		margin-bottom: 30px;
		border: 1px solid rgba(255, 255, 255, 0.1);
	}

	.control-row {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
		gap: 20px;
		margin-bottom: 25px;
	}

	.control-group {
		display: flex;
		flex-direction: column;
	}

	.control-group label {
		font-weight: 600;
		margin-bottom: 8px;
		color: #b8c5d1;
		font-size: 0.9rem;
		text-transform: uppercase;
		letter-spacing: 0.5px;
	}

	.control-group select {
		padding: 12px 16px;
		border: 2px solid rgba(255, 255, 255, 0.1);
		border-radius: 8px;
		background: rgba(0, 0, 0, 0.3);
		color: #e0e6ed;
		font-size: 1rem;
		transition: all 0.3s ease;
		cursor: pointer;
	}

	.control-group select:hover:not(:disabled) {
		border-color: rgba(255, 255, 255, 0.2);
		background: rgba(0, 0, 0, 0.4);
	}

	.control-group select:focus {
		outline: none;
		border-color: #4a90e2;
		box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.2);
	}

	.control-group select:disabled {
		opacity: 0.5;
		cursor: not-allowed;
	}

	/* Check button inner structure */
	.check-core {
		position: absolute; inset: 4px; border-radius: 18px;
		background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.01)), rgba(18,18,18,0.94);
		z-index: 0; pointer-events: none;
	}
	.check-content {
		position: relative; z-index: 3;
		display: inline-flex; align-items: center; justify-content: center;
	}
	.check-text {
		position: relative; color: #fafafa;
		text-shadow: 0 0 8px rgba(255,255,255,0.18), 0 0 20px rgba(180,180,180,0.2);
	}
	.check-text::after {
		content: "";
		position: absolute; left: 0; bottom: -6px;
		width: 100%; height: 2px;
		background: linear-gradient(90deg, transparent, #d9d9d9, transparent);
		transform: scaleX(0.7); transform-origin: center;
		animation: histCheckGlowLine 1.4s ease-in-out infinite;
	}
	@keyframes histCheckGlowLine { 0%,100%{opacity:0.45;transform:scaleX(0.7)} 50%{opacity:1;transform:scaleX(1)} }

	/* Check Results button */
	.check-button {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 20px 56px;
		border: 1px solid rgba(190,190,190,0.35);
		border-radius: 22px !important;
		background: linear-gradient(135deg, rgba(80,80,80,0.14), rgba(180,180,180,0.18));
		color: #f4f4f4;
		font-size: 1rem;
		font-weight: 700;
		letter-spacing: 2px;
		text-transform: uppercase;
		cursor: pointer;
		overflow: hidden;
		backdrop-filter: blur(14px);
		box-shadow: 0 0 16px rgba(220,220,220,0.16), 0 0 34px rgba(160,160,160,0.22), 0 0 70px rgba(255,255,255,0.08), inset 0 0 18px rgba(255,255,255,0.05);
		transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
		align-self: flex-start;
	}
	.check-button:hover:not(:disabled) {
		transform: translateY(-3px) scale(1.03);
		border-color: rgba(240,240,240,0.95);
		box-shadow: 0 0 20px rgba(220,220,220,0.26), 0 0 45px rgba(180,180,180,0.3), 0 0 90px rgba(255,255,255,0.12), inset 0 0 22px rgba(255,255,255,0.08);
	}
	.check-button:active { transform: scale(0.97); }
	.check-button::before {
		content: "";
		position: absolute; inset: -2px; border-radius: inherit; padding: 1px;
		background: linear-gradient(90deg, transparent, #f0f0f0, #bdbdbd, #ffffff, #bdbdbd, transparent);
		-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
		-webkit-mask-composite: xor; mask-composite: exclude;
		animation: histCheckBorderFlow 2.2s linear infinite; pointer-events: none;
	}
	.check-button::after {
		content: "";
		position: absolute; top: 0; left: -140%;
		width: 65%; height: 100%;
		background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.05) 30%, rgba(220,220,220,0.3) 50%, rgba(255,255,255,0.05) 70%, transparent 100%);
		transform: skewX(-25deg);
		animation: histCheckSweep 2s ease-in-out infinite; pointer-events: none;
	}
	.check-button:disabled {
		opacity: 0.5;
		cursor: not-allowed;
		transform: none !important;
	}
	.check-button:disabled::before,
	.check-button:disabled::after { animation: none; }

	@keyframes histCheckBorderFlow { 0%{filter:brightness(1)} 100%{filter:brightness(1.15)} }
	@keyframes histCheckSweep      { 0%{left:-140%} 100%{left:150%} }

	/* Results Container */
	.results-container {
		background: #2d2d2d;
		border-radius: 12px;
		padding: 25px;
		border: 1px solid rgba(255, 255, 255, 0.05);
	}

	/* Loading State */
	.loading {
		text-align: center;
		padding: 40px;
		font-size: 1.2rem;
		color: #b8c5d1;
		background: linear-gradient(90deg, #4a90e2, #357abd, #4a90e2);
		background-size: 200% 200%;
		animation: loadingShimmer 2s ease-in-out infinite;
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		background-clip: text;
	}

	@keyframes loadingShimmer {
		0% { background-position: -200% 0; }
		100% { background-position: 200% 0; }
	}

	/* Draw Info Section */
	.draw-info-combined {
		margin-bottom: 25px;
	}

	.draw-info-combined h3 {
		font-size: 1.8rem;
		margin-bottom: 20px;
		text-align: center;
		color: #e0e6ed;
		font-weight: 600;
	}

	.winning-numbers-section {
		margin-bottom: 30px;
	}

	.game-winning-numbers {
		margin-bottom: 20px;
		background: #2d2d2d;
		border-radius: 12px;
		padding: 20px;
		border-left: 4px solid transparent;
	}

	.game-winning-numbers h4 {
		margin: 0 0 15px 0;
		font-size: 1.3rem;
		font-weight: 600;
	}

	/* Game-specific colors for headers and borders */
	.game-winning-numbers h4:contains("Lotto"),
	.game-winning-numbers:has(h4:contains("Lotto")) {
		border-left-color: #ffd700;
	}

	.game-winning-numbers h4:contains("Daily") {
		color: #ff6b6b;
	}

	.game-winning-numbers:has(h4:contains("Daily")) {
		border-left-color: #ff6b6b;
	}

	.game-winning-numbers h4:contains("PowerBall") {
		color: #4a90e2;
	}

	.game-winning-numbers:has(h4:contains("PowerBall")) {
		border-left-color: #4a90e2;
	}

	.winning-numbers {
		display: flex;
		gap: 8px;
		align-items: center;
		flex-wrap: wrap;
	}

	/* Winning Number Balls */
	.winning-ball {
		width: 45px;
		height: 45px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: 700;
		font-size: 1rem;
		color: #1a1a2e;
		background: #ffd700; /* Default Lotto yellow */
		box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3), inset 0 1px 2px rgba(255, 255, 255, 0.3);
		border: 2px solid rgba(255, 255, 255, 0.2);
		transition: transform 0.2s ease;
	}

	.winning-ball:hover {
		transform: scale(1.1);
	}

	.winning-ball.daily-lotto {
		background: linear-gradient(135deg, #ff6b6b, #ee4b4b);
	}

	.winning-ball.powerball {
		background: linear-gradient(135deg, #4a90e2, #357abd);
		color: white;
	}

	.winning-ball.bonus-ball {
		position: relative;
		margin-left: 15px;
	}

	.winning-ball.bonus-ball::before {
		content: attr(data-label);
		position: absolute;
		top: -25px;
		left: 50%;
		transform: translateX(-50%);
		font-size: 0.7rem;
		font-weight: 600;
		color: #b8c5d1;
		white-space: nowrap;
	}

	/* Match Summary */
	.match-summary-combined {
		margin-bottom: 30px;
	}

	.match-summary-combined h4 {
		font-size: 1.5rem;
		margin-bottom: 20px;
		color: #e0e6ed;
		text-align: center;
	}

	.game-summary {
		margin-bottom: 25px;
		background: rgba(255, 255, 255, 0.05);
		border-radius: 10px;
		padding: 20px;
	}

	.game-summary h5 {
		margin: 0 0 15px 0;
		font-size: 1.2rem;
		font-weight: 600;
		color: #e0e6ed;
	}

	.summary-stats {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
		gap: 12px;
	}

	.stat-card {
		background: rgba(255, 255, 255, 0.08);
		border-radius: 8px;
		padding: 15px;
		text-align: center;
		border: 1px solid rgba(255, 255, 255, 0.1);
		transition: all 0.3s ease;
	}

	.stat-card:hover {
		background: rgba(255, 255, 255, 0.12);
		transform: translateY(-2px);
	}

	.stat-card.bonus-stat {
		background: linear-gradient(135deg, rgba(74, 144, 226, 0.2), rgba(53, 122, 189, 0.2));
		border-color: rgba(74, 144, 226, 0.3);
	}

	.stat-number {
		font-size: 1.8rem;
		font-weight: 700;
		color: #4a90e2;
		margin-bottom: 5px;
	}

	.stat-label {
		font-size: 0.9rem;
		color: #b8c5d1;
		font-weight: 500;
	}

	/* Line Results */
	.lines-results-combined {
		margin-top: 30px;
	}

	.lines-results-combined h4 {
		font-size: 1.5rem;
		margin-bottom: 20px;
		color: #e0e6ed;
		text-align: center;
	}

	.line-result-combined {
		background: rgba(255, 255, 255, 0.05);
		border-radius: 12px;
		padding: 20px;
		margin-bottom: 15px;
		border-left: 4px solid rgba(255, 255, 255, 0.1);
		transition: all 0.3s ease;
	}

	.line-result-combined:hover {
		background: rgba(255, 255, 255, 0.08);
		transform: translateX(5px);
	}

	/* Match-based styling */
	.line-result-combined.match-2 { border-left-color: #f39c12; }
	.line-result-combined.match-3 { border-left-color: #e74c3c; }
	.line-result-combined.match-4 { border-left-color: #9b59b6; }
	.line-result-combined.match-5 { border-left-color: #1abc9c; }
	.line-result-combined.match-6 { border-left-color: #ffd700; box-shadow: 0 0 20px rgba(255, 215, 0, 0.3); }

	.line-result-combined.has-bonus {
		box-shadow: 0 0 15px rgba(74, 144, 226, 0.3);
	}

	.result-header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 15px;
		flex-wrap: wrap;
		gap: 10px;
	}

	.line-number-label {
		font-weight: 600;
		color: #e0e6ed;
		font-size: 1.1rem;
	}

	.game-name-label {
		background: rgba(74, 144, 226, 0.2);
		color: #4a90e2;
		padding: 4px 12px;
		border-radius: 20px;
		font-size: 0.9rem;
		font-weight: 600;
		border: 1px solid rgba(74, 144, 226, 0.3);
	}

	.match-indicator {
		display: flex;
		align-items: center;
		gap: 8px;
		background: rgba(255, 255, 255, 0.1);
		padding: 8px 16px;
		border-radius: 20px;
		border: 1px solid rgba(255, 255, 255, 0.2);
	}

	.match-indicator.has-bonus {
		background: linear-gradient(135deg, rgba(74, 144, 226, 0.2), rgba(53, 122, 189, 0.2));
		border-color: rgba(74, 144, 226, 0.4);
	}

	.match-count {
		font-weight: 700;
		font-size: 1.1rem;
		color: #4a90e2;
	}

	.match-label {
		font-size: 0.9rem;
		color: #b8c5d1;
	}

	/* Line Number Balls */
	.line-numbers {
		display: flex;
		gap: 8px;
		align-items: center;
		flex-wrap: wrap;
		margin-bottom: 10px;
	}

	.line-ball {
		width: 40px;
		height: 40px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: 600;
		font-size: 0.95rem;
		background: rgba(255, 255, 255, 0.1);
		color: #e0e6ed;
		border: 2px solid rgba(255, 255, 255, 0.2);
		transition: all 0.2s ease;
	}

	.line-ball.matched {
		background: linear-gradient(135deg, #27ae60, #2ecc71);
		color: white;
		border-color: #27ae60;
		box-shadow: 0 0 10px rgba(39, 174, 96, 0.4);
		transform: scale(1.1);
	}

	.line-ball.bonus-matched {
		background: linear-gradient(135deg, #4a90e2, #357abd);
		color: white;
		border-color: #4a90e2;
		box-shadow: 0 0 10px rgba(74, 144, 226, 0.4);
		transform: scale(1.1);
	}

	.line-ball.powerball-number {
		background: linear-gradient(135deg, #9b59b6, #8e44ad);
		color: white;
		border-color: #9b59b6;
		margin-left: 15px;
		position: relative;
	}

	.line-ball.powerball-number::before {
		content: 'PB';
		position: absolute;
		top: -20px;
		left: 50%;
		transform: translateX(-50%);
		font-size: 0.6rem;
		font-weight: 600;
		color: #b8c5d1;
	}

	.line-ball.powerball-number.bonus-matched {
		background: linear-gradient(135deg, #f39c12, #e67e22);
		border-color: #f39c12;
		box-shadow: 0 0 15px rgba(243, 156, 18, 0.5);
	}

	/* No matches message */
	.no-matches {
		text-align: center;
		padding: 40px;
		font-size: 1.2rem;
		color: #b8c5d1;
		background: rgba(255, 255, 255, 0.05);
		border-radius: 12px;
		border: 2px dashed rgba(255, 255, 255, 0.1);
	}

	/* Responsive Design */
	@media (max-width: 768px) {
		.lotto-history-checker {
			padding: 15px;
			margin: 10px;
		}

		.control-row {
			grid-template-columns: 1fr;
			gap: 15px;
		}

		.summary-stats {
			grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
			gap: 8px;
		}

		.result-header {
			flex-direction: column;
			align-items: flex-start;
		}

		.winning-ball,
		.line-ball {
			width: 35px;
			height: 35px;
			font-size: 0.85rem;
		}

		.winning-numbers,
		.line-numbers {
			gap: 6px;
		}
	}

	/* Add these CSS rules to your lotto history checker styles */
	/* They enable game-specific ball colors based on parent container class */

	/* Default Lotto ball color */
	.lotto .line-ball {
		background: #ffd700;
		color: #1a1a2e;
	}

	/* Daily Lotto ball color */
	.daily-lotto .line-ball {
		background: linear-gradient(135deg, #ff6b6b, #ee4b4b);
		color: white;
	}

	/* Powerball main numbers */
	.powerball .line-ball {
		background: linear-gradient(135deg, #4a90e2, #357abd);
		color: white;
	}

	/* Keep matched and bonus-matched styles with higher specificity */
	.lotto .line-ball.matched,
	.daily-lotto .line-ball.matched,
	.powerball .line-ball.matched {
		background: linear-gradient(135deg, #27ae60, #2ecc71);
		color: white;
		border-color: #27ae60;
		box-shadow: 0 0 10px rgba(39, 174, 96, 0.4);
		transform: scale(1.1);
	}

	.lotto .line-ball.bonus-matched,
	.daily-lotto .line-ball.bonus-matched,
	.powerball .line-ball.bonus-matched {
		background: linear-gradient(135deg, #4a90e2, #357abd);
		color: white;
		border-color: #4a90e2;
		box-shadow: 0 0 10px rgba(74, 144, 226, 0.4);
		transform: scale(1.1);
	}