/* Patient 0 — thème laboratoire P4 */
.eg {
    --eg-card: rgba(16, 24, 38, 0.94);
    --eg-card-2: rgba(0, 255, 136, 0.05);
    --eg-text: var(--text-main);
    --eg-muted: var(--text-muted);
    --eg-accent: var(--bio-green);
    --eg-accent-ink: #03140b;
    --eg-border: var(--border-color);
    --eg-ok: var(--bio-green);
    --eg-err: var(--danger-red);
    --eg-warn: var(--hazard-yellow);
    --eg-radius: 6px;
    --eg-font-head: var(--font-heading);
    --eg-font-body: var(--font-body);
    --eg-font-mono: var(--font-mono);
}
.eg .eg-room-title { font-size: clamp(1.5rem, 5vw, 2.1rem); letter-spacing: 0.04em; }
.eg h4 { font-family: var(--font-heading); font-size: 1.2rem; letter-spacing: 0.05em; margin: 0.6rem 0 0.4rem; color: var(--hazard-yellow); }
.formula { display: inline-block; margin-top: 0.4rem; padding: 0.2rem 0.6rem; font-family: var(--font-mono); background: rgba(0, 255, 136, 0.1); border: 1px solid rgba(0, 255, 136, 0.35); border-radius: 4px; color: var(--bio-green); }

/* Salle 1 */
.dress-layout { align-items: start; }
.dress-done { margin: 0.5rem 0 0; padding-left: 1.2rem; color: var(--bio-green); font-family: var(--font-mono); font-size: 0.9rem; min-height: 2rem; }
.dress-cards { display: grid; gap: 0.45rem; }
.dress-card { font: inherit; text-align: left; padding: 0.65rem 0.8rem; border-radius: 6px; border: 1px solid rgba(255, 208, 0, 0.4); background: rgba(255, 208, 0, 0.06); color: var(--text-main); cursor: pointer; }
.dress-card:hover:not(:disabled) { border-color: var(--hazard-yellow); }
.dress-card.used { opacity: 0.3; text-decoration: line-through; cursor: default; }

/* Salle 2 */
.seq { display: flex; flex-wrap: wrap; gap: 0.35rem; font-family: var(--font-mono); font-size: 1.15rem; margin: 0.4rem 0 0.8rem; }
.codon { padding: 0.2rem 0.45rem; border-radius: 4px; background: #0b1320; border: 1px solid #1f3346; letter-spacing: 0.12em; }
.seq-dna .codon { color: #7cc4ff; }
.seq-rna .codon { color: var(--bio-green); }
.seq-rna { min-height: 2rem; color: var(--text-muted); font-size: 0.95rem; }
.pair-rules { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; }
.pair-rule { display: flex; align-items: center; gap: 0.4rem; justify-content: center; padding: 0.5rem; border: 1px solid #1f3346; border-radius: 6px; font-family: var(--font-mono); }
.pair-rule b { font-size: 1.3rem; color: var(--bio-green); min-width: 1ch; text-align: center; }
.codon-table { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.3rem 0.8rem; font-family: var(--font-mono); font-size: 0.88rem; padding: 0.7rem; border: 1px dashed #1f3346; border-radius: 6px; margin-bottom: 0.8rem; color: var(--text-muted); }
.codon-table b { color: var(--text-main); }

/* Salle 3 */
.dilution-inputs { margin: 0.8rem 0; }
.dilution-inputs label { display: flex; flex-direction: column; gap: 0.3rem; font-family: var(--font-mono); }
.dose-step { margin-top: 1rem; }

/* Salle 4 */
.table-wrap { overflow-x: auto; }
.lab-table { width: 100%; border-collapse: collapse; font-family: var(--font-mono); font-size: 0.9rem; }
.lab-table th, .lab-table td { border: 1px solid #1f3346; padding: 0.35rem 0.55rem; text-align: left; }
.lab-table th { background: rgba(255, 208, 0, 0.08); color: var(--hazard-yellow); }
.contact-list { margin: 0 0 0.8rem; padding-left: 1.2rem; line-height: 1.6; }
.suspects .eg-btn { min-width: 120px; }

/* Salle 5 */
.final-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; margin-top: 1rem; }
.final-choices h3 { font-family: var(--font-heading); color: var(--bio-green); font-size: 1.5rem; margin: 0 0 0.3rem; }

@media (max-width: 720px) {
    .pair-rules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .final-choices { grid-template-columns: 1fr; }
    .seq { font-size: 1rem; }
}
