*{box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-width:320px;min-height:100vh;background:#f5f5f5;color:#1a1a2e}#root{min-height:100vh}a{color:#2196f3;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6,p{margin-top:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.case-list{padding:20px;max-width:1200px;margin:0 auto}.case-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.case-list-header h2{margin:0;color:#1a1a2e}.progress-summary{color:#666;font-size:14px}.cases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.case-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s;border:2px solid transparent}.case-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.case-card.completed{border-color:#4caf50}.case-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.difficulty-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#fff;text-transform:capitalize}.completed-badge{background:#e8f5e9;color:#4caf50;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.case-title{margin:0 0 8px;color:#1a1a2e;font-size:18px}.case-description{color:#666;font-size:14px;margin:0 0 16px;line-height:1.5}.case-card-footer{display:flex;justify-content:space-between;align-items:center}.case-meta{color:#999;font-size:12px}.start-button{background:#2196f3;color:#fff;border:none;padding:8px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.start-button:hover{background:#1976d2}.case-card.completed .start-button{background:#4caf50}.case-card.completed .start-button:hover{background:#388e3c}.scenario-view{padding:20px;max-width:900px;margin:0 auto}.scenario-title{color:#1a1a2e;margin:0 0 24px;font-size:24px}.scenario-content{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.scenario-section{margin-bottom:24px}.scenario-section h3{color:#1a1a2e;margin:0 0 12px;font-size:18px}.scenario-description{color:#444;line-height:1.7;font-size:16px;margin:0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.info-card{background:#f8f9fa;border-radius:8px;padding:16px}.info-card h3{color:#1a1a2e;margin:0 0 16px;font-size:16px;border-bottom:2px solid #e0e0e0;padding-bottom:8px}.info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e0e0e0}.info-row:last-child{border-bottom:none}.info-row dt{color:#666;font-weight:500}.info-row dd{color:#1a1a2e;margin:0;font-weight:600}.vitals-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.vital-item{background:#fff;border-radius:8px;padding:12px;text-align:center;border:1px solid #e0e0e0}.vital-label{display:block;color:#666;font-size:12px;margin-bottom:4px}.vital-value{display:block;font-size:20px;font-weight:700}.vital-value.spo2{color:#2196f3}.vital-value.hr{color:#f44336}.vital-value.bp{color:#9c27b0}.vital-value.rr{color:#4caf50}.vital-value.temp{color:#ff9800}.scenario-actions{margin-top:24px;text-align:center}.continue-button{background:#2196f3;color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.continue-button:hover{background:#1976d2}.multiple-choice{padding:20px;max-width:800px;margin:0 auto}.back-button:hover{text-decoration:underline}.mc-title{color:#1a1a2e;margin:0 0 16px;font-size:24px}.mc-context{background:#fff3e0;border-left:4px solid #ff9800;padding:16px;margin-bottom:24px;border-radius:0 8px 8px 0}.mc-context p{margin:0;color:#444;line-height:1.6}.mc-question-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.mc-question{color:#1a1a2e;margin:0 0 24px;font-size:18px;line-height:1.5}.mc-options{display:flex;flex-direction:column;gap:12px}.mc-option{display:flex;align-items:center;gap:16px;padding:16px;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;text-align:left;transition:all .2s}.mc-option:hover:not(:disabled){background:#e3f2fd;border-color:#2196f3}.mc-option:disabled{cursor:not-allowed;opacity:.7}.mc-option.correct{background:#e8f5e9;border-color:#4caf50}.mc-option.incorrect{background:#ffebee;border-color:#f44336}.option-letter{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#2196f3;color:#fff;border-radius:50%;font-weight:700;flex-shrink:0}.mc-option.correct .option-letter{background:#4caf50}.mc-option.incorrect .option-letter{background:#f44336}.option-text{color:#1a1a2e;font-size:16px;line-height:1.4}.feedback-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.feedback-modal{background:#fff;border-radius:16px;padding:32px;max-width:500px;width:100%;text-align:center;box-shadow:0 4px 24px #0003}.feedback-icon{width:64px;height:64px;background:#ffebee;color:#f44336;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;margin:0 auto 16px}.feedback-modal h3{color:#1a1a2e;margin:0 0 16px;font-size:20px}.feedback-text{color:#444;line-height:1.6;margin:0 0 24px}.try-again-button{background:#2196f3;color:#fff;border:none;padding:12px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.try-again-button:hover{background:#1976d2}.ventilator-setup{padding:20px;max-width:700px;margin:0 auto}.back-button{background:none;border:none;color:#2196f3;cursor:pointer;font-size:14px;padding:8px 0;margin-bottom:16px}.setup-title{color:#1a1a2e;margin:0 0 16px;font-size:24px}.patient-reference{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;background:#e3f2fd;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;color:#1565c0}.ibw-info{font-weight:600}.ventilator-screen{background:#1a1a2e;border-radius:16px;padding:20px;box-shadow:0 4px 20px #0000004d}.screen-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:2px solid #333;margin-bottom:20px}.vent-model{color:#4caf50;font-weight:700;font-size:14px;letter-spacing:1px}.screen-mode{background:#2196f3;color:#fff;padding:6px 16px;border-radius:4px;font-weight:600;font-size:14px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.setting-group{background:#252540;border-radius:8px;padding:16px}.setting-group.mode-group{grid-column:1 / -1}.setting-label{display:block;color:#888;font-size:12px;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.setting-control{display:flex;align-items:center;gap:12px}.setting-control input[type=range]{flex:1;height:8px;border-radius:4px;background:#333;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}.setting-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:#4caf50;border-radius:50%;cursor:pointer}.setting-control input[type=range]::-moz-range-thumb{width:20px;height:20px;background:#4caf50;border-radius:50%;cursor:pointer;border:none}.setting-value{color:#4caf50;font-size:24px;font-weight:700;font-family:Courier New,monospace;min-width:60px;text-align:right}.setting-hint{display:block;color:#666;font-size:11px;margin-top:8px}.setting-select{width:100%;padding:10px;background:#333;color:#fff;border:1px solid #444;border-radius:4px;font-size:14px;cursor:pointer}.setting-select:focus{outline:none;border-color:#4caf50}.screen-footer{margin-top:20px;padding-top:16px;border-top:2px solid #333}.calculated-values{color:#888;font-size:14px;text-align:center}.setup-actions{margin-top:24px;text-align:center}.confirm-button{background:#4caf50;color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.confirm-button:hover{background:#388e3c}.simulation-view{padding:20px;max-width:900px;margin:0 auto}.sim-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.back-button{background:none;border:none;color:#2196f3;cursor:pointer;font-size:14px;padding:8px 0}.sim-timer{background:#1a1a2e;padding:8px 16px;border-radius:8px;text-align:center}.timer-label{display:block;color:#888;font-size:10px;text-transform:uppercase}.timer-value{color:#4caf50;font-size:20px;font-weight:700;font-family:Courier New,monospace}.sim-content{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 700px){.sim-content{grid-template-columns:1fr}}.patient-monitor{background:#1a1a2e;border-radius:12px;padding:20px}.monitor-title{color:#4caf50;margin:0 0 16px;font-size:14px;text-transform:uppercase;letter-spacing:1px}.vitals-display{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.vital-box{background:#252540;border-radius:8px;padding:12px;text-align:center;border-left:4px solid}.vital-box.spo2{border-color:#2196f3}.vital-box.hr{border-color:#f44336}.vital-box.bp{border-color:#9c27b0}.vital-box.rr{border-color:#4caf50}.vital-box.warning{animation:pulse-warning 1s infinite}.vital-box.critical{animation:pulse-critical .5s infinite;background:#3d1a1a}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}@keyframes pulse-critical{0%,to{opacity:1;background:#3d1a1a}50%{opacity:.8;background:#5d1a1a}}.vital-box .vital-label{display:block;color:#888;font-size:11px;margin-bottom:4px}.vital-box .vital-value{display:block;color:#fff;font-size:28px;font-weight:700;font-family:Courier New,monospace}.vital-box.spo2 .vital-value{color:#2196f3}.vital-box.hr .vital-value{color:#f44336}.vital-box.bp .vital-value{color:#9c27b0}.vital-box.rr .vital-value{color:#4caf50}.vital-box.critical .vital-value{color:#ff5252}.vital-box .vital-unit{color:#666;font-size:12px}.ventilator-display{background:#1a1a2e;border-radius:12px;padding:20px}.vent-title{color:#2196f3;margin:0 0 16px;font-size:14px;text-transform:uppercase;letter-spacing:1px}.vent-params{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.vent-param{background:#252540;border-radius:8px;padding:12px}.param-label{display:block;color:#888;font-size:11px;margin-bottom:4px}.param-value{color:#4caf50;font-size:18px;font-weight:600}.param-value small{color:#666;font-size:12px;font-weight:400}.event-progress{margin-top:20px;text-align:center}.progress-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);transition:width 1s linear}.progress-text{color:#666;font-size:14px}.event-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.event-modal{background:#fff;border-radius:16px;padding:32px;max-width:500px;width:100%;text-align:center;box-shadow:0 4px 24px #0000004d;border-top:6px solid #ff9800}.event-icon{font-size:48px;margin-bottom:16px}.event-title{color:#1a1a2e;margin:0 0 12px;font-size:22px}.event-description{color:#444;line-height:1.6;margin:0 0 20px}.vital-changes{display:flex;justify-content:center;gap:16px;margin-bottom:24px}.vital-change{background:#ffebee;color:#c62828;padding:8px 16px;border-radius:20px;font-weight:600;font-size:14px}.acknowledge-button{background:#ff9800;color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.acknowledge-button:hover{background:#f57c00}.case-summary{padding:20px;max-width:700px;margin:0 auto}.summary-header{text-align:center;margin-bottom:32px}.completion-icon{width:80px;height:80px;background:linear-gradient(135deg,#4caf50,#8bc34a);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:700;margin:0 auto 20px;box-shadow:0 4px 16px #4caf5066}.summary-header h2{color:#1a1a2e;margin:0 0 8px;font-size:28px}.summary-header .case-title{color:#666;margin:0;font-size:16px}.summary-content{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.key-points-section{margin-bottom:24px}.key-points-section h3,.case-recap-section h3{color:#1a1a2e;margin:0 0 16px;font-size:18px;padding-bottom:8px;border-bottom:2px solid #e0e0e0}.key-points-list{list-style:none;padding:0;margin:0}.key-point{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #f0f0f0}.key-point:last-child{border-bottom:none}.point-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#e3f2fd;color:#1976d2;border-radius:50%;font-weight:700;font-size:14px;flex-shrink:0}.point-text{color:#444;line-height:1.5;padding-top:2px}.recap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.recap-item{background:#f8f9fa;border-radius:8px;padding:16px;text-align:center}.recap-label{display:block;color:#666;font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.recap-value{display:block;color:#1a1a2e;font-size:16px;font-weight:600}.recap-value.difficulty{text-transform:capitalize;color:#4caf50}.summary-actions{margin-top:24px;text-align:center}.summary-actions .back-button{background:#2196f3;color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.summary-actions .back-button:hover{background:#1976d2}.app{min-height:100vh;background:#f5f5f5}.app-header{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;padding:20px;text-align:center;box-shadow:0 2px 8px #0003}.app-header h1{margin:0;font-size:24px;font-weight:700}.app-header .subtitle{margin:4px 0 0;font-size:14px;color:#4caf50;font-weight:600}.app-main{padding:20px}button{font-family:inherit}@media (max-width: 600px){.app-header h1{font-size:20px}.app-main{padding:12px}}
