.login-screen {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.login-card { width: 320px; }
.login-card h1 { font-size: 18px; margin-top: 0; }

.topbar {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--border);
    background: var(--panel);
}
.topbar h1 { font-size: 16px; margin: 0; white-space: nowrap; }
.tabs { display: flex; gap: 6px; flex: 1; }
.tab-btn { background: transparent; color: var(--muted); border: 1px solid transparent; }
.tab-btn.active { background: var(--panel-2); color: var(--text); border-color: var(--border); }

main { padding: 20px; max-width: 1200px; margin: 0 auto; }
.tab-panel { display: grid; gap: 16px; }
.two-col { grid-template-columns: 1fr 1fr; align-items: start; }
@media (max-width: 900px) { .two-col { grid-template-columns: 1fr; } }

.question-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--panel-2);
}
.question-item .qtext { flex: 1; }

.quiz-card { padding: 14px; }
.quiz-card h3 { margin: 0 0 8px; }
.quiz-card .qrow {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    border-top: 1px solid var(--border);
}
.quiz-card .qrow:first-of-type { border-top: none; }
.quiz-card .qrow .qtext { flex: 1; }

.leaderboard-table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.leaderboard-table th, .leaderboard-table td {
    text-align: left;
    padding: 8px 10px;
    border-bottom: 1px solid var(--border);
}

.timer-bar-wrap { background: var(--panel-2); border-radius: 8px; overflow: hidden; height: 8px; margin: 8px 0; }
.timer-bar { background: var(--accent); height: 100%; transition: width 0.2s linear; }

.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 10px 0; }
.choice-grid .choice { padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--panel-2); }
.choice-grid .choice.correct { border-color: var(--good); background: rgba(74,222,128,0.15); }

.new-question-form { display: grid; gap: 6px; margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--border); }
.new-question-form .choices-row { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
