@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans&display=swap');

body {
    font-family: "IBM Plex Sans", sans-serif;
    padding: 20px;
    max-width: 600px;
    margin: auto;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    color: #111;
}

.hidden {
    display: none;
}

.question {
    margin-bottom: 12px;
    font-size: 15px;
}

.category {
    font-size: 12px;
    color: #666;
    margin-bottom: 6px;
}

button {
    margin-top: 10px;
    padding: 8px 12px;
    border: none;
    background-color: #0A3161;
    color: white;
    cursor: pointer;
    border-radius: 4px;
    font-size: 14px;
}

button:disabled {
    background-color: #aaa;
    cursor: not-allowed;
}

.option {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    margin: 8px 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    user-select: none;
}

.option .meta {
    font-size: 13px;
}

.selected {
    background: linear-gradient(to right, #dbeafe, #e0f2fe);
    border-color: #3b82f6;
}

.correct {
    background: linear-gradient(to right, #d1fae5, #dcfce7);
    border-color: #10b981;
}

.wrong {
    background: linear-gradient(to right, #fee2e2, #fef2f2);
    border-color: #ef4444;
}

.option img {
    width: 36px;
    height: 36px;
    object-fit: cover;
    border-radius: 4px;
}

.info {
    font-size: 0.85em;
    color: #666;
    margin-bottom: 10px;
}

.card {
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
    margin: 8px 0;
    gap: 10px;
    list-style-type: none;
}

.row {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.space {
    flex: 1 1 auto;
}

.footer-buttons {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: 12px;
}

.small {
    font-size: 13px;
    padding: 6px 10px;
}

.metrics {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 8px 0;
}

.metric {
    background: #f6f9ff;
    padding: 8px 10px;
    border-radius: 6px;
    border: 1px solid #e6eefc;
    font-size: 13px;
}

.percent {
    font-weight: 600;
}

.explanation {
    margin-top: 8px;
    padding: 8px;
    background: #fcfcfc;
    border-left: 4px solid #ddd;
    border-radius: 4px;
    font-size: 13px;
}

.opt-worth {
    font-size: 12px;
    color: #555;
    margin-left: auto;
}

.header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.h1 {
    font-size: 20px;
    margin: 0;
}

.small-muted {
    font-size: 13px;
    color: #666;
}