/* ═══════════════════════════════════════════════════════════════════
   介词图选 Preposition Pictures (E8) — /chs/English/Prepositions
   主色：青绿 #0f766e → #14b8a6，和 Stress Beat 的靛蓝、
   Chinglish Fixer 的琥珀区分开。
   ═══════════════════════════════════════════════════════════════════ */

/* ── 题型选择 ─────────────────────────────────────────────────────── */
.pp-mode-btn {
    border: 2px solid var(--bs-border-color);
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    border-radius: 0.5rem;
    padding: 0.4rem 0.9rem;
    font-weight: 600;
    line-height: 1.2;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

.pp-mode-btn:hover { border-color: #14b8a6; }

.pp-mode-btn.active {
    background: #0f766e;
    border-color: #0f766e;
    color: #fff;
}

/* ── 图区 ─────────────────────────────────────────────────────────── */
.pp-stage {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 190px;
    background: rgba(20, 184, 166, 0.08);
    border-radius: 0.6rem;
    padding: 0.5rem;
}

.pp-scene {
    width: 100%;
    max-width: 340px;
    height: auto;
}

/* 时间 / 地点题没有场景图，只放一个图标当视觉锚点。 */
.pp-stage-text { min-height: 110px; }

.pp-icon {
    font-size: 3.2rem;
    color: #0f766e;
    opacity: 0.75;
}

/* ── 句子与空格 ───────────────────────────────────────────────────── */
.pp-sentence {
    font-size: clamp(1.1rem, 4.6vw, 1.5rem);
    font-weight: 600;
    line-height: 1.5;
}

.pp-blank {
    display: inline-block;
    min-width: 4.5rem;
    padding: 0 0.35rem;
    border-bottom: 3px solid #0f766e;
    color: #0f766e;
    font-weight: 700;
    text-align: center;
}

.pp-blank-filled {
    border-bottom-color: #198754;
    color: #198754;
}

/* ── 选项 ─────────────────────────────────────────────────────────── */
.pp-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

@media (min-width: 576px) {
    .pp-options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.pp-option {
    padding: 0.7rem 0.5rem;
    font-size: 1.05rem;
    font-weight: 700;
    border: 2px solid #99f6e4;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    border-radius: 0.6rem;
    cursor: pointer;
    transition: transform 0.1s, background-color 0.15s, border-color 0.15s;
}

.pp-option:hover:not(:disabled) {
    border-color: #14b8a6;
    transform: translateY(-2px);
}

.pp-option:disabled { cursor: default; }

.pp-option-correct {
    background: #198754;
    border-color: #198754;
    color: #fff;
}

.pp-option-wrong {
    background: #dc3545;
    border-color: #dc3545;
    color: #fff;
    opacity: 0.85;
}

/* ── 深色模式 ─────────────────────────────────────────────────────── */
[data-bs-theme="dark"] .pp-stage { background: rgba(20, 184, 166, 0.14); }
[data-bs-theme="dark"] .pp-icon { color: #5eead4; }
[data-bs-theme="dark"] .pp-blank { border-bottom-color: #5eead4; color: #5eead4; }
[data-bs-theme="dark"] .pp-blank-filled { border-bottom-color: #4ade80; color: #4ade80; }
[data-bs-theme="dark"] .pp-option { border-color: #2b5f5a; }
[data-bs-theme="dark"] .pp-option:hover:not(:disabled) { border-color: #2dd4bf; }
[data-bs-theme="dark"] .pp-mode-btn.active { background: #14b8a6; border-color: #14b8a6; }
