body {
font-family: Arial, sans-serif;
background: #f3f4f6;
margin: 0;
padding: 30px;
color: #1f2937;
}

.container {
max-width: 1100px;
margin: 0 auto;
background: #ffffff;
padding: 30px;
border-radius: 16px;
box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

h1 {
text-align: center;
margin-bottom: 10px;
}

.subtitle {
text-align: center;
color: #6b7280;
margin-bottom: 30px;
}

.grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.card, .result-card, .winner-box {
background: #f9fafb;
border: 1px solid #e5e7eb;
border-radius: 14px;
padding: 20px;
}

label {
display: block;
margin-top: 14px;
margin-bottom: 6px;
font-weight: 600;
}

input[type="file"], textarea, select {
width: 100%;
box-sizing: border-box;
}

textarea {
min-height: 100px;
resize: vertical;
padding: 10px;
border-radius: 8px;
border: 1px solid #d1d5db;
}

select, input[type="file"] {
padding: 10px;
border-radius: 8px;
border: 1px solid #d1d5db;
background: #fff;
}

.preview {
margin-top: 16px;
min-height: 220px;
border: 1px dashed #cbd5e1;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
background: #fff;
overflow: hidden;
color: #6b7280;
}

.preview img {
max-width: 100%;
max-height: 220px;
}

button {
margin-top: 28px;
width: 100%;
padding: 14px;
font-size: 16px;
font-weight: bold;
border: none;
border-radius: 10px;
background: #2563eb;
color: white;
cursor: pointer;
}

button:hover {
background: #1d4ed8;
}

.loading {
margin-top: 20px;
text-align: center;
font-weight: bold;
}

.hidden {
display: none;
}

.results {
margin-top: 28px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.winner-box {
grid-column: 1 / -1;
text-align: center;
}

.winner {
font-size: 24px;
font-weight: bold;
margin-top: 10px;
}

.winner-a {
color: #065f46;
}

.winner-b {
color: #1d4ed8;
}

.error {
color: #b91c1c;
font-weight: bold;
}

hr {
margin: 16px 0;
}

@media (max-width: 800px) {
.grid,
.results {
grid-template-columns: 1fr;
}
}