*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:light;--bg: #f8fafc;--bg-card: #ffffff;--bg-hover: #f1f5f9;--text: #0f172a;--text-muted: #64748b;--border: #e2e8f0;--primary: #2563eb;--primary-hover: #1d4ed8;--danger: #dc2626;--danger-bg: #fef2f2;--success: #16a34a;--success-bg: #f0fdf4;--warning: #ea580c;--warning-bg: #fff7ed;--info: #7c3aed;--info-bg: #f5f3ff;--radius: 8px;--radius-lg: 12px;--shadow: 0 1px 3px rgb(0 0 0 / .1);--shadow-lg: 0 4px 12px rgb(0 0 0 / .1);--btn-disabled-bg: #94a3b8;--btn-danger-hover-bg: #b91c1c;--accent-bg: #eff6ff;--patient-bg: linear-gradient(135deg, #eff6ff, #f0f9ff);--patient-border: #bfdbfe;--clinical-bg: #fffbeb;--clinical-border: #fde68a}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg: #0f172a;--bg-card: #1e293b;--bg-hover: #334155;--text: #f1f5f9;--text-muted: #94a3b8;--border: #334155;--primary: #3b82f6;--primary-hover: #60a5fa;--danger: #ef4444;--danger-bg: #3b1111;--success: #22c55e;--success-bg: #0f2d1a;--warning: #f97316;--warning-bg: #3b1a06;--info: #a78bfa;--info-bg: #1e1145;--shadow: 0 1px 3px rgb(0 0 0 / .4);--shadow-lg: 0 4px 12px rgb(0 0 0 / .5);--btn-disabled-bg: #475569;--btn-danger-hover-bg: #dc2626;--accent-bg: #1e3a5f;--patient-bg: linear-gradient(135deg, #172554, #1e3a5f);--patient-border: #1e40af;--clinical-bg: #422006;--clinical-border: #92400e}}[data-theme=dark]{color-scheme:dark;--bg: #0f172a;--bg-card: #1e293b;--bg-hover: #334155;--text: #f1f5f9;--text-muted: #94a3b8;--border: #334155;--primary: #3b82f6;--primary-hover: #60a5fa;--danger: #ef4444;--danger-bg: #3b1111;--success: #22c55e;--success-bg: #0f2d1a;--warning: #f97316;--warning-bg: #3b1a06;--info: #a78bfa;--info-bg: #1e1145;--shadow: 0 1px 3px rgb(0 0 0 / .4);--shadow-lg: 0 4px 12px rgb(0 0 0 / .5);--btn-disabled-bg: #475569;--btn-danger-hover-bg: #dc2626;--accent-bg: #1e3a5f;--patient-bg: linear-gradient(135deg, #172554, #1e3a5f);--patient-border: #1e40af;--clinical-bg: #422006;--clinical-border: #92400e}[data-theme=light]{color-scheme:light}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}body{min-height:100dvh}button{cursor:pointer;font:inherit;border:none;background:none}.container{max-width:720px;margin:0 auto;padding:1rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius);font-weight:600;font-size:.875rem;transition:background .15s,transform .1s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{background:var(--btn-disabled-bg);cursor:not-allowed;transform:none}.btn-outline{border:1px solid var(--border);color:var(--text)}.btn-outline:hover{background:var(--bg-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--btn-danger-hover-bg)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-red{background:var(--danger-bg);color:var(--danger)}.badge-green{background:var(--success-bg);color:var(--success)}.badge-orange{background:var(--warning-bg);color:var(--warning)}.badge-purple{background:var(--info-bg);color:var(--info)}.progress-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.patient-card{background:var(--patient-bg);border:1px solid var(--patient-border)}.patient-card .label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.patient-card .value{font-size:1.125rem;font-weight:600}.dx-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius);cursor:grab;transition:border-color .15s,box-shadow .15s,background .15s;-webkit-user-select:none;user-select:none}.dx-item:hover{border-color:var(--primary);box-shadow:var(--shadow)}.dx-item.dragging{opacity:.5;border-color:var(--primary)}.dx-item.touch-dragging{transform:scale(1.03);box-shadow:var(--shadow-lg);border-color:var(--primary);opacity:.9;z-index:1;position:relative}.dx-item.drag-over{border-color:var(--primary);background:var(--accent-bg)}.dx-rank{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--bg);border:1px solid var(--border);font-weight:700;font-size:.875rem;color:var(--text-muted);flex-shrink:0}.dx-name{flex:1;min-width:0;font-weight:500;overflow-wrap:break-word}.dx-flag{width:2.25rem;height:2.25rem;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.125rem;border:2px solid var(--border);flex-shrink:0;transition:border-color .15s,background .15s}.dx-flag:hover{border-color:var(--danger);background:var(--danger-bg)}.dx-flag.flagged{border-color:var(--danger);background:var(--danger);color:#fff}.dx-arrows{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.dx-arrows button{width:1.5rem;height:1.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:.75rem;color:var(--text-muted);border:1px solid var(--border)}.dx-arrows button:hover{background:var(--bg-hover);color:var(--text)}.dx-arrows button:disabled{opacity:.3;cursor:not-allowed}.fb-correct{border-color:var(--success)!important;background:var(--success-bg)!important}.fb-too-high{border-color:var(--warning)!important;background:var(--warning-bg)!important}.fb-too-low{border-color:var(--info)!important;background:var(--info-bg)!important}.fb-missed{border-color:var(--danger)!important;background:var(--danger-bg)!important}.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.score-card{text-align:center;padding:1rem;border-radius:var(--radius);border:1px solid var(--border)}.score-value{font-size:1.75rem;font-weight:800}.score-label{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.step-dots{display:flex;gap:.5rem;align-items:center}.step-dot{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;border:2px solid var(--border);color:var(--text-muted)}.step-dot.active{border-color:var(--primary);background:var(--primary);color:#fff}.step-dot.done{border-color:var(--success);background:var(--success);color:#fff}.step-connector{flex:1;height:2px;background:var(--border);max-width:3rem}.step-connector.done{background:var(--success)}.case-grid{display:grid;gap:.75rem}.case-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);transition:border-color .15s,box-shadow .15s;text-align:left;width:100%}.case-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg)}.case-chapter{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:var(--radius);background:var(--accent-bg);color:var(--primary);font-weight:800;font-size:.75rem;flex-shrink:0}.case-info{flex:1}.case-title{font-weight:700;font-size:1rem}.case-patient{font-size:.875rem;color:var(--text-muted)}.clinical-info{background:var(--clinical-bg);border:1px solid var(--clinical-border);border-radius:var(--radius);padding:1rem;font-size:.9375rem;line-height:1.6}@media(max-width:480px){.container{padding:.75rem}.dx-item{padding:.625rem;gap:.5rem}.dx-name{font-size:.875rem}.dx-arrows{flex-direction:row;gap:4px}.dx-arrows button{width:2.25rem;height:2.25rem;font-size:.875rem}.dx-flag{width:2.75rem;height:2.75rem}.score-grid{grid-template-columns:1fr}.score-card{display:flex;align-items:center;gap:.75rem;text-align:left}.score-card .score-value{font-size:1.5rem;min-width:3.5rem}.score-card .score-label{margin-top:0}.score-card .progress-bar{flex:1}}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0 .5rem}.app-header .app-header-text{flex:1;text-align:center}.app-header h1{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.app-header p{font-size:.875rem;color:var(--text-muted)}.theme-toggle{width:2.25rem;height:2.25rem;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;border:1px solid var(--border);color:var(--text-muted);transition:border-color .15s,background .15s,color .15s;flex-shrink:0}.theme-toggle:hover{border-color:var(--primary);color:var(--text);background:var(--bg-hover)}.theme-toggle svg{width:1.125rem;height:1.125rem}.stack{display:flex;flex-direction:column}.stack-xs{gap:.25rem}.stack-sm{gap:.5rem}.stack-md{gap:1rem}.stack-lg{gap:1.5rem}.row{display:flex;align-items:center;gap:.75rem}.row-between{justify-content:space-between}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-muted{color:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.case-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-color:var(--primary);box-shadow:var(--shadow-lg)}.dx-flag:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.dx-arrows button:focus-visible{outline:2px solid var(--primary);outline-offset:1px;background:var(--bg-hover)}
