/* Teaching supplements: scoped to the added content, keeping the course theme. */
.teaching-guide,
.teaching-results {
    color: #edf2f7;
    text-align: left;
}
.teaching-guide {
    margin: 0 0 28px;
    padding: 26px;
    border: 1px solid rgba(96, 165, 250, .23);
    border-radius: 20px;
    background: rgba(20, 27, 43, .75);
}
.teaching-guide h2,
.teaching-results h2 { margin: 0 0 8px; font-size: 24px; color: #f0f4ff; }
.teaching-kicker { color: #93c5fd; font-size: 12px; letter-spacing: .12em; margin-bottom: 8px; }
.teaching-lead { color: #c0cde2; font-size: 14px; line-height: 1.9; }
.teaching-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 20px 0; }
.teaching-card { min-width: 0; padding: 18px; border-radius: 14px; border: 1px solid rgba(96, 165, 250, .18); background: rgba(12, 15, 30, .45); }
.teaching-card h3 { font-size: 14px; color: #93c5fd; margin: 0 0 9px; }
.teaching-card strong { display: block; font-size: 17px; font-weight: 600; line-height: 1.7; color: #edf2f7; }
.teaching-card p { color: #b7c6df; font-size: 13px; line-height: 1.85; margin-top: 8px; }
.teaching-card:nth-child(2) h3 { color: #c4b5fd; }
.teaching-muted { color: #b7c6df; font-size: 13px; line-height: 1.85; }
.teaching-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.teaching-links a { display: inline-block; padding: 8px 16px; border: 1px solid rgba(96, 165, 250, .38); border-radius: 10px; color: #bfdbfe; text-decoration: none; font-size: 13px; background: rgba(59, 130, 246, .1); }
.teaching-links a:hover { background: rgba(59, 130, 246, .2); }
.teaching-details { margin-top: 14px; border: 1px solid rgba(96, 165, 250, .2); border-radius: 12px; background: rgba(20, 27, 43, .65); text-align: left; color: #edf2f7; }
.teaching-task { margin: 0 0 26px; }
.teaching-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; cursor: pointer; list-style: none; font-size: 14px; line-height: 1.8; color: #cbdcf5; }
.teaching-details > summary::-webkit-details-marker { display: none; }
.teaching-details > summary::after { content: "+"; flex: 0 0 auto; font-size: 21px; color: #93c5fd; }
.teaching-details[open] > summary::after { content: "−"; }
.teaching-details[open] > summary { border-bottom: 1px solid rgba(96, 165, 250, .15); }
.teaching-details > summary:hover { color: #fff; }
.teaching-details > summary:focus-visible,
.teaching-links a:focus-visible { outline: 2px solid #a78bfa; outline-offset: 3px; }
.teaching-detail-body { padding: 18px; font-size: 14px; line-height: 1.9; color: #bdcce3; }
.teaching-detail-body p + p { margin-top: 10px; }
.teaching-detail-body strong { color: #edf2f7; font-weight: 600; }
.teaching-detail-body h3 { font-size: 15px; color: #d5cafa; margin: 16px 0 6px; }
.teaching-detail-body h3:first-child { margin-top: 0; }
.teaching-detail-body a { color: #93c5fd; text-underline-offset: 3px; }
.teaching-case { padding: 12px 15px; margin-bottom: 14px; border-left: 3px solid #8b5cf6; background: rgba(139, 92, 246, .08); border-radius: 0 8px 8px 0; }
.teaching-results { padding: 48px 48px 56px; scroll-margin-top: 100px; }
.teaching-evaluation { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 4px 0 14px; }
.teaching-evaluation caption { text-align: left; color: #edf2f7; font-weight: 600; margin-bottom: 12px; }
.teaching-evaluation th,
.teaching-evaluation td { padding: 10px 12px; border-bottom: 1px solid rgba(96, 165, 250, .17); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.teaching-evaluation th { color: #bfdbfe; font-weight: 600; }
.teaching-evaluation th:first-child { width: 26%; }
.teaching-source-note { font-size: 12px; line-height: 1.8; color: #a9bbd9; margin-top: 14px; }
.teaching-source-note a { color: #93c5fd; text-underline-offset: 3px; }
@media (max-width: 720px) {
    .teaching-guide { padding: 18px; border-radius: 16px; }
    .teaching-grid { grid-template-columns: 1fr; gap: 10px; margin: 16px 0; }
    .teaching-card { padding: 15px; }
    .teaching-card strong { font-size: 16px; }
    .teaching-guide h2,
    .teaching-results h2 { font-size: 21px; }
    .teaching-results { padding: 36px 20px; }
    .teaching-details > summary { padding: 13px 14px; }
    .teaching-detail-body { padding: 14px; }
    .teaching-evaluation th,
    .teaching-evaluation td { padding: 9px 7px; font-size: 13px; }
    .teaching-evaluation th:first-child { width: 33%; }
}
@media print {
    .teaching-guide,
    .teaching-results,
    .teaching-details,
    .teaching-card { background: #fff; color: #111; border-color: #999; }
    .teaching-guide *,
    .teaching-results *,
    .teaching-details * { color: #111 !important; }
}
