@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:wght@400;600;700;800&display=swap');

* { box-sizing: border-box; margin: 0; padding: 0; }
body {
    font-family: 'Noto Sans Arabic', sans-serif;
    background-color: #0f1b2d;
    background-image:
        radial-gradient(circle at 20% 20%, rgba(212,167,44,0.05) 0, transparent 40%),
        radial-gradient(circle at 80% 80%, rgba(181,49,47,0.06) 0, transparent 40%);
    color: #f2e8d5;
    min-height: 100vh;
    padding: 20px 12px 60px;
}
.wrap { max-width: 480px; margin: 0 auto; }

.kilim-strip {
    height: 8px;
    border-radius: 4px;
    margin-bottom: 18px;
    background-repeat: repeat-x;
    background-size: 16px 8px;
    background-image: repeating-linear-gradient(135deg, #b5312f 0 8px, #d4a72c 8px 16px);
    opacity: 0.9;
}

.top-header { text-align: center; margin-bottom: 20px; }
.top-header h1 { font-size: 24px; font-weight: 800; color: #d4a72c; }
.top-header p { font-size: 13px; color: #a9b6c4; margin-top: 4px; }

.city-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 20px;
}
.city-card {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    border: 2px solid #3a3226;
    background: #14263d;
    cursor: pointer;
    text-decoration: none;
    display: block;
    transition: transform .15s ease, border-color .15s ease;
}
.city-card:active { transform: scale(0.97); }
.city-card img { width: 100%; height: 90px; object-fit: cover; display: block; }
.city-card .name {
    text-align: center;
    padding: 8px 4px;
    font-size: 14px;
    font-weight: 700;
    color: #f2e8d5;
}
.city-card.champion { border-color: #d4a72c; }
.trophy-badge {
    position: absolute;
    top: 6px;
    left: 6px;
    background: #d4a72c;
    color: #14263d;
    font-size: 11px;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 20px;
}

.btn {
    display: block;
    width: 100%;
    text-align: center;
    background: #d4a72c;
    color: #14263d;
    border: none;
    border-radius: 30px;
    padding: 14px;
    font-size: 16px;
    font-weight: 800;
    font-family: inherit;
    text-decoration: none;
    cursor: pointer;
}
.btn.secondary {
    background: transparent;
    border: 2px solid #d4a72c;
    color: #d4a72c;
}

.card-box {
    background: #14263d;
    border: 1px solid rgba(212,167,44,0.25);
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 16px;
}

.question-text {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 20px;
    text-align: center;
}
.option-btn {
    display: block;
    width: 100%;
    text-align: right;
    background: #1c3149;
    border: 2px solid #3a3226;
    color: #f2e8d5;
    border-radius: 12px;
    padding: 14px 16px;
    font-size: 15px;
    font-family: inherit;
    margin-bottom: 10px;
    cursor: pointer;
}
.option-btn:active { background: #26374d; }
.option-btn.correct { background: #1c3a2e; border-color: #3a9d6e; }
.option-btn.wrong { background: #3a1c1c; border-color: #b5312f; }

.leaderboard-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #26374d;
}
.leaderboard-row:last-child { border-bottom: none; }
.lb-name { font-weight: 700; }
.lb-participants { font-size: 12px; color: #a9b6c4; }
.lb-score { font-weight: 800; color: #d4a72c; }

.progress-bar {
    height: 8px;
    background: #26374d;
    border-radius: 4px;
    overflow: hidden;
    margin-top: 6px;
}
.progress-bar > div {
    height: 100%;
    background: linear-gradient(90deg, #d4a72c, #f0c94a);
}

.center-msg { text-align: center; padding: 30px 10px; color: #a9b6c4; }