.respiratory-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.respiratory-summary>div{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.respiratory-summary span{display:block;color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.respiratory-summary strong{display:block;margin-top:7px;color:var(--ink);font-size:1.08rem}

.respiratory-pattern-lab{overflow:hidden}.respiratory-pattern-layout{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:18px;align-items:start}.respiratory-pattern-list{display:grid;gap:9px}.respiratory-pattern-button{display:block;width:100%;min-height:68px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.respiratory-pattern-button strong,.respiratory-pattern-button span{display:block;pointer-events:none}.respiratory-pattern-button strong{font-size:.98rem}.respiratory-pattern-button span{margin-top:4px;color:var(--muted);font-size:.79rem;line-height:1.32}.respiratory-pattern-button:hover{border-color:#90abd0;background:#f8fbff}.respiratory-pattern-button.active{border-color:#174f91;background:#eef5ff;box-shadow:0 0 0 2px rgba(23,79,145,.08)}.respiratory-pattern-button:focus-visible,.respiratory-station:focus-visible,.respiratory-option:focus-within,.respiratory-visual-choice:focus-visible{outline:3px solid rgba(23,79,145,.25);outline-offset:2px}.respiratory-pattern-detail{min-width:0;padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdff)}.respiratory-pattern-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.respiratory-pattern-heading h3{margin:8px 0 4px;font-size:1.35rem}.respiratory-pattern-cue{margin:0;color:var(--ink);font-weight:750;line-height:1.45}.respiratory-trace{display:block;width:100%;height:auto;margin:14px 0 12px;border:1px solid #dce5f1;border-radius:14px;background:#fff;overflow:visible}.trace-event-window{fill:#fff6de;stroke:#e4bf6a;stroke-width:1.5;stroke-dasharray:6 5}.trace-event-label{fill:#805c16;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.trace-guides line{stroke:#dce4ee;stroke-width:1}.trace-labels text{fill:#5c6777;font-size:12px;font-weight:800}.trace-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6;vector-effect:non-scaling-stroke}.trace-line.airflow{stroke:#176bb5;stroke-width:3.1}.trace-line.thorax{stroke:#18866a}.trace-line.abdomen{stroke:#9a5b13}.trace-line.oxygen{stroke:#b33b49;stroke-width:2.2}.trace-oxygen-note{fill:#9d3442;font-size:11px;font-weight:800}.respiratory-signal-clues{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.respiratory-signal-clues>div{padding:10px 11px;border-radius:12px;background:#f5f8fc}.respiratory-signal-clues span,.respiratory-signal-clues strong{display:block}.respiratory-signal-clues span{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.respiratory-signal-clues strong{margin-top:4px;font-size:.84rem;line-height:1.3}.respiratory-teaching-note{margin-top:12px;padding:13px 14px;border-left:4px solid #174f91;border-radius:10px;background:#f1f6fd}.respiratory-teaching-note strong{display:block}.respiratory-teaching-note p{margin:5px 0 0;line-height:1.5}

.respiratory-visual-lab{overflow:hidden}.respiratory-visual-workspace{margin-top:16px}.respiratory-visual-case,.respiratory-visual-result{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fbfdff}.respiratory-visual-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.respiratory-visual-progress strong{font-size:1.05rem}.respiratory-visual-prompt{margin:4px 0 14px;color:var(--muted);font-weight:700}.respiratory-visual-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.respiratory-visual-choice{min-height:56px;padding:12px 14px;border:1px solid #cfdbea;border-radius:14px;background:#fff;color:var(--ink);font:inherit;font-weight:800;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.respiratory-visual-choice:hover{border-color:#90abd0;background:#f8fbff}.respiratory-visual-choice.selected{border-color:#174f91;background:#eef5ff}.respiratory-visual-choice.correct{border-color:#58a990;background:#effaf6}.respiratory-visual-choice.incorrect{border-color:#cf8d44;background:#fff5e9}.respiratory-visual-feedback{margin-top:14px;padding:14px 16px;border-radius:14px;border:1px solid var(--line)}.respiratory-visual-feedback.correct{background:#effaf6;border-color:#8fc9bb}.respiratory-visual-feedback.retry{background:#fff5e9;border-color:#ddb07d}.respiratory-visual-feedback p{margin:.45rem 0;line-height:1.5}.respiratory-visual-feedback .respiratory-signal-clues{margin-top:12px}.respiratory-visual-result h3{margin:.35rem 0}.respiratory-visual-result p{max-width:780px}

.respiratory-stations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.respiratory-station{appearance:none;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:88px;padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.respiratory-station>*{pointer-events:none}.respiratory-station:hover{border-color:#90abd0;background:#fbfdff}.respiratory-station.complete{border-color:#78baa9;background:#f2fbf8}.respiratory-station:disabled{cursor:default;opacity:.78}.respiratory-station-check{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;border:2px solid #8ba0b8;color:#53677f;font-weight:950}.respiratory-station.complete .respiratory-station-check{border-color:#278b72;background:#278b72;color:#fff}.respiratory-station-number{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#eaf1fb;color:#174f91;font-weight:900}.respiratory-station-copy strong,.respiratory-station-copy small{display:block}.respiratory-station-copy small{margin-top:4px;color:var(--muted);line-height:1.35}.respiratory-station-action{color:#174f91;font-size:.78rem;font-weight:850;white-space:nowrap}.respiratory-station.complete .respiratory-station-action{color:#237662}

.respiratory-question{margin:0 0 18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.respiratory-question legend{display:flex;gap:10px;padding:0 8px;font-weight:850;line-height:1.45}.respiratory-question legend span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:999px;background:#eaf1fb;color:#174f91}.respiratory-option{display:flex;align-items:flex-start;gap:11px;min-height:48px;margin:10px 0;padding:12px 13px;border:1px solid transparent;border-radius:12px;background:#f7f9fc;line-height:1.4;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.respiratory-option:hover{background:#eef4fb;border-color:#cfdbea}.respiratory-option input{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0}.respiratory-option span{flex:1}.respiratory-option:has(input:checked){background:#eef5ff;border-color:#7fa5d2}.respiratory-result{margin:20px 0;padding:18px;border-radius:18px;border:1px solid var(--line)}.respiratory-result.pass{background:#f0faf7;border-color:#9ccfc4}.respiratory-result.retry{background:#fff8ee;border-color:#e7c28b}.respiratory-review{margin:10px 0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}.respiratory-review.correct{border-left:5px solid #278b72}.respiratory-review.retry{border-left:5px solid #c8872e}

@media(max-width:1050px){.respiratory-pattern-layout{grid-template-columns:1fr}.respiratory-pattern-list{grid-template-columns:repeat(2,minmax(0,1fr))}.respiratory-signal-clues{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.respiratory-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.respiratory-stations{grid-template-columns:1fr}}
@media(max-width:640px){.respiratory-pattern-list{grid-template-columns:1fr}.respiratory-pattern-detail{padding:11px}.respiratory-trace{margin-inline:-2px;width:calc(100% + 4px)}.respiratory-signal-clues{grid-template-columns:1fr 1fr}.respiratory-visual-options{grid-template-columns:1fr}.respiratory-station{grid-template-columns:auto minmax(0,1fr);gap:9px 11px}.respiratory-station-number{display:none}.respiratory-station-copy{grid-column:2}.respiratory-station-action{grid-column:2;white-space:normal}.respiratory-station-check{grid-row:1/span 2}.trace-labels text{font-size:10px}}
@media(max-width:420px){.respiratory-summary{grid-template-columns:1fr}.respiratory-signal-clues{grid-template-columns:1fr}.respiratory-pattern-button{min-height:60px}.respiratory-visual-choice{min-height:54px}.respiratory-station{min-height:84px}.respiratory-question{padding:14px 11px}.respiratory-option{padding:12px 10px}}
