:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh;width:100%}.app{max-width:900px;margin:0 auto;padding:2rem;min-height:100vh;position:relative}.app-header{position:fixed;top:0;right:0;padding:1rem 2rem;z-index:1000}.home-link{display:inline-block;padding:.5rem 1rem;background-color:#646cff;color:#fff;text-decoration:none;border-radius:6px;font-size:.9em;font-weight:500;transition:all .2s;box-shadow:0 2px 8px #646cff4d}.home-link:hover{background-color:#535bf2;transform:translateY(-1px);box-shadow:0 4px 12px #646cff66}.home-link:active{transform:translateY(0)}.game-setup{text-align:center;padding:2rem}.game-setup h1{font-size:2.5em;margin-bottom:.5rem;color:#1a1a1a}.game-setup>p{font-size:1.1em;color:#666;margin-bottom:2rem}.setup-options{display:flex;flex-direction:column;gap:1.5rem;max-width:400px;margin:2rem auto}.option-group{display:flex;flex-direction:column;gap:.5rem;text-align:left}.option-group label{font-weight:500;color:#333}.option-group select{padding:.75rem;font-size:1em;border:2px solid #ddd;border-radius:6px;background-color:#fff;font-family:inherit}.option-group select:focus{outline:none;border-color:#646cff}.start-button{margin-top:2rem;padding:1rem 2rem;font-size:1.1em;background-color:#646cff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:background-color .2s}.start-button:hover{background-color:#535bf2}.game-container{display:flex;flex-direction:column;gap:2rem}.back-button{align-self:flex-start;padding:.5rem 1rem;background-color:#f0f0f0;color:#333;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9em}.back-button:hover{background-color:#e0e0e0}.case-display{background-color:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem}.case-display.phone-triage{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;min-height:400px;display:flex;flex-direction:column;justify-content:center;align-items:center}.phone-header{text-align:center;margin-bottom:2rem}.phone-icon{font-size:4rem;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.phone-header h2{color:#fff;margin:.5rem 0;font-size:2em}.phone-instruction{color:#ffffffe6;font-size:1.1em;margin:1rem 0}.phone-header .questions-remaining{color:#ffffffe6;font-size:1em;margin-top:1rem}.phone-form{width:100%;max-width:500px;margin:0 auto}.phone-input-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.phone-voice-button{padding:1.5rem 3rem;font-size:1.3em;background-color:#fff3;color:#fff;border:3px solid white;border-radius:50px;cursor:pointer;transition:all .3s;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.phone-voice-button:hover:not(:disabled){background-color:#ffffff4d;transform:scale(1.05)}.phone-voice-button:disabled{opacity:.6;cursor:not-allowed}.phone-voice-button.recording{background-color:#e74c3c;border-color:#c0392b;animation:recording-pulse 1s ease-in-out infinite}@keyframes recording-pulse{0%,to{box-shadow:0 0 #e74c3cb3}50%{box-shadow:0 0 0 20px #e74c3c00}}.phone-recording{color:#fff;font-size:1.2em;font-weight:600;text-align:center;margin-top:1rem}.phone-question-preview{background-color:#fff3;padding:1rem 1.5rem;border-radius:10px;color:#fff;font-size:1.1em;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:1rem;align-items:center}.phone-submit-button{padding:.75rem 2rem;font-size:1em;background-color:#fff;color:#667eea;border:none;border-radius:25px;cursor:pointer;font-weight:600;transition:all .3s}.phone-submit-button:hover:not(:disabled){background-color:#f0f0f0;transform:scale(1.05)}.phone-submit-button:disabled{opacity:.6;cursor:not-allowed}.phone-no-questions{color:#fff;font-size:1.2em;text-align:center;margin-top:2rem;padding:1rem;background-color:#ffffff1a;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.case-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.case-header h2{margin:0;color:#1a1a1a}.header-controls{display:flex;align-items:center;gap:1rem}.questions-remaining{margin:0;color:#666;font-size:.9em}.voice-toggle-button{padding:.5rem 1rem;background-color:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85em;transition:background-color .2s}.voice-toggle-button:hover{background-color:#5a6268}.symptoms{margin-bottom:1.5rem}.symptoms h3{margin-top:0;margin-bottom:.5rem;color:#333;font-size:1.1em}.symptoms p{margin:0;line-height:1.6;color:#444}.follow-up-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #ddd}.follow-up-section h3{margin-top:0;margin-bottom:1rem;color:#333;font-size:1.1em}.qa-list{display:flex;flex-direction:column;gap:1rem}.qa-item{background-color:#fff;padding:1rem;border-radius:6px;border-left:3px solid #646cff}.question{margin-bottom:.5rem;color:#333}.answer{color:#666;font-style:italic}.answer-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.answer-text{margin-left:0}.qa-item .answer strong{color:#333}.answer.loading{color:#646cff;font-weight:500;font-style:normal}.speak-answer-button{background:none;border:none;font-size:1.2em;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s;opacity:.7}.speak-answer-button:hover{background-color:#646cff1a;opacity:1}.question-form{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.question-input-container{display:flex;gap:.5rem;align-items:center}.question-input{flex:1;padding:.75rem;font-size:1em;border:2px solid #ddd;border-radius:6px;font-family:inherit}.voice-button{padding:.75rem 1rem;background-color:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1.2em;transition:all .2s;min-width:50px}.voice-button:hover:not(:disabled){background-color:#218838;transform:scale(1.05)}.voice-button.recording{background-color:#dc3545;animation:pulse-recording 1s ease-in-out infinite}.voice-button:disabled{background-color:#ccc;cursor:not-allowed}@keyframes pulse-recording{0%,to{box-shadow:0 0 #dc3545b3}50%{box-shadow:0 0 0 10px #dc354500}}.recording-indicator{padding:.5rem;background-color:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;text-align:center;font-weight:500;animation:blink 1s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.question-input:focus{outline:none;border-color:#646cff}.question-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.ask-button{padding:.75rem 1.5rem;background-color:#646cff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.ask-button:hover:not(:disabled){background-color:#535bf2}.ask-button:disabled{background-color:#ccc;cursor:not-allowed}.no-questions{margin-top:1rem;padding:1rem;background-color:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404}.priority-selector{background-color:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem}.priority-selector h3{margin-top:0;margin-bottom:1rem;color:#1a1a1a}.priority-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.priority-option{display:flex;align-items:center;padding:1rem;background-color:#fff;border:2px solid #ddd;border-radius:6px;cursor:pointer;transition:all .2s}.priority-option:hover{border-color:#646cff;background-color:#f0f0ff}.priority-option.selected{border-color:#646cff;background-color:#e8e9ff}.priority-option input[type=radio]{margin-right:1rem;cursor:pointer}.priority-content{display:flex;flex-direction:column;gap:.25rem}.priority-number{font-weight:600;color:#1a1a1a;font-size:1.1em}.priority-description{color:#666;font-size:.9em}.priority-note{margin-top:1rem;padding:.75rem;background-color:#e7f3ff;border-left:3px solid #646cff;border-radius:4px;color:#333;font-size:.9em;text-align:center}.submit-button{width:100%;padding:1rem;font-size:1.1em;background-color:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s}.diagnosis-input{background-color:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem;margin-top:1.5rem}.diagnosis-input h3{margin-top:0;color:#1a1a1a}.diagnosis-instruction{color:#666;margin-bottom:1rem;font-size:.95em}.diagnosis-list{display:flex;flex-direction:column;gap:1rem}.diagnosis-item{display:flex;flex-direction:column;gap:.5rem}.diagnosis-item label{font-weight:500;color:#333}.required{color:#dc3545;font-size:.85em}.diagnosis-input-field{padding:.75rem;font-size:1em;border:2px solid #ddd;border-radius:6px;font-family:inherit;transition:border-color .2s}.diagnosis-input-field:focus{outline:none;border-color:#646cff}.diagnosis-input-field:disabled{background-color:#f5f5f5;cursor:not-allowed}.diagnosis-note{margin-top:1rem;padding:.75rem;background-color:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:.9em}.submit-assessment-section{margin-top:1.5rem;text-align:center}.submit-assessment-button{padding:1rem 2rem;font-size:1.2em;background-color:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s;box-shadow:0 2px 8px #28a7454d}.submit-assessment-button:hover:not(:disabled){background-color:#218838;transform:translateY(-1px);box-shadow:0 4px 12px #28a74566}.submit-assessment-button:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.submit-button:hover:not(:disabled){background-color:#218838}.submit-button:disabled{background-color:#ccc;cursor:not-allowed}.feedback-container{display:flex;flex-direction:column;gap:1rem}.feedback-display{background-color:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;padding:2rem;position:relative;overflow:hidden}.feedback-display.wrong-priority{border:3px solid #dc3545;background-color:#fff5f5;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.feedback-display h2{margin-top:0;color:#1a1a1a}.wrong-priority-banner{background-color:#dc3545;color:#fff;padding:1rem;border-radius:6px;margin-bottom:1.5rem;font-weight:600;text-align:center;animation:pulse 1s ease-in-out 3}.correct-diagnoses-section{background-color:#e8f5e9;border:2px solid #4caf50;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.correct-diagnoses-section h3{margin-top:0;color:#2e7d32;font-size:1.3em}.diagnoses-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.diagnosis-card{display:flex;align-items:center;gap:1rem;background-color:#fff;padding:1rem;border-radius:6px;border-left:4px solid #4caf50;box-shadow:0 2px 4px #0000001a}.diagnosis-rank{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:#4caf50;color:#fff;border-radius:50%;font-weight:700;font-size:1.1em;flex-shrink:0}.diagnosis-name{flex:1;font-weight:500;color:#1a1a1a;font-size:1.05em}.user-diagnoses-comparison{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #4caf50}.user-diagnoses-comparison h4{margin-top:0;margin-bottom:.75rem;color:#333}.user-diagnoses-list{display:flex;flex-direction:column;gap:.5rem}.user-diagnosis-item{padding:.75rem;background-color:#fff9e6;border-left:3px solid #ffc107;border-radius:4px;color:#333}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.falling-character-container{position:absolute;top:0;left:0;right:0;height:100vh;pointer-events:none;z-index:1000;overflow:visible}.falling-character{position:absolute;font-size:4rem;left:15%;top:-80px;animation:fall 2.5s ease-in forwards;filter:drop-shadow(0 0 10px rgba(220,53,69,.5))}.falling-character-delay{position:absolute;font-size:3.5rem;left:75%;top:-80px;animation:fall 2.5s ease-in .4s forwards;filter:drop-shadow(0 0 10px rgba(220,53,69,.5))}@keyframes fall{0%{transform:translateY(0) rotate(0) scale(1);opacity:1}25%{transform:translateY(150px) rotate(90deg) scale(1.2);opacity:.9}50%{transform:translateY(300px) rotate(180deg) scale(1);opacity:.7}75%{transform:translateY(450px) rotate(270deg) scale(.8);opacity:.5}to{transform:translateY(600px) rotate(360deg) scale(.5);opacity:0}}.prompt-section{margin-bottom:1.5rem}.toggle-prompt-button{padding:.5rem 1rem;background-color:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9em;margin-bottom:1rem}.toggle-prompt-button:hover{background-color:#5a6268}.prompt-content{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:1rem;margin-top:.5rem}.prompt-part{margin-bottom:1rem}.prompt-part:last-child{margin-bottom:0}.prompt-part h4{margin:0 0 .5rem;color:#495057;font-size:.9em;font-weight:600}.prompt-part pre{background-color:#fff;border:1px solid #e9ecef;border-radius:4px;padding:1rem;overflow-x:auto;font-size:.85em;line-height:1.5;color:#212529;white-space:pre-wrap;word-wrap:break-word;margin:0}.feedback-content{background-color:#fff;padding:1.5rem;border-radius:6px;margin-bottom:1.5rem;line-height:1.8;color:#333;text-align:left}.feedback-content.wrong-priority-content{border:2px solid #ffcccc;background-color:snow}.feedback-item{margin:.5rem 0}.feedback-heading{margin:1rem 0 .5rem;color:#1a1a1a;font-size:1.2em}.feedback-actions{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.complete-game-button{padding:1rem 2rem;font-size:1.1em;background-color:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s}.complete-game-button:hover{background-color:#218838}.score-container{max-width:800px;margin:0 auto;padding:2rem;text-align:center}.score-container h1{color:#1a1a1a;margin-bottom:2rem}.current-score{background-color:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;padding:2rem;margin-bottom:2rem}.current-score h2{margin-top:0;color:#333}.score-display{display:flex;flex-direction:column;align-items:center;gap:1rem}.score-circle{width:150px;height:150px;border-radius:50%;background:linear-gradient(135deg,#646cff,#535bf2);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 15px #646cff4d}.score-number{font-size:3em;font-weight:700;line-height:1}.score-label{font-size:1.2em;opacity:.9}.score-details{font-size:1.1em;color:#666;margin:0}.overall-stats{background-color:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;padding:2rem;margin-bottom:2rem;text-align:left}.overall-stats h2{margin-top:0;text-align:center;color:#333}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.stat-item{background-color:#fff;padding:1.5rem;border-radius:6px;text-align:center;border:1px solid #e0e0e0}.stat-value{font-size:2em;font-weight:700;color:#646cff;margin-bottom:.5rem}.stat-label{color:#666;font-size:.9em}.game-history{margin-top:2rem}.game-history h3{margin-bottom:1rem;color:#333}.history-list{display:flex;flex-direction:column;gap:.75rem}.history-item{background-color:#fff;padding:1rem;border-radius:6px;border-left:4px solid #646cff;display:flex;align-items:center;gap:1rem}.history-score{font-size:1.5em;font-weight:700;color:#646cff;min-width:80px}.history-details{flex:1;color:#333;display:flex;justify-content:space-between;align-items:center}.history-date{color:#999;font-size:.9em}.score-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.continue-button{padding:1rem 2rem;font-size:1.1em;background-color:#646cff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s}.continue-button:hover{background-color:#535bf2}.reset-button{padding:1rem 2rem;font-size:1.1em;background-color:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s}.reset-button:hover{background-color:#c82333}.mistakes-tips-section{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.mistakes-box,.tips-box{background-color:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem}.mistakes-box{border-left:4px solid #dc3545}.tips-box{border-left:4px solid #28a745}.mistakes-box h3,.tips-box h3{margin-top:0;margin-bottom:1rem;color:#1a1a1a}.mistakes-list,.tips-list{margin:0;padding-left:1.5rem;color:#333;line-height:1.8}.mistakes-list li,.tips-list li{margin-bottom:.5rem}.progress-graph-section{margin-top:2rem;padding:1.5rem;background-color:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px}.progress-graph-section h3{margin-top:0;margin-bottom:1.5rem;color:#1a1a1a}.progress-graph{display:flex;align-items:flex-end;justify-content:space-around;gap:.5rem;height:200px;padding:1rem 0;border-bottom:2px solid #ddd}.graph-bar-container{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;max-width:80px}.graph-bar{width:100%;background:linear-gradient(to top,#646cff,#535bf2);border-radius:4px 4px 0 0;position:relative;min-height:20px;transition:all .3s ease;display:flex;align-items:flex-start;justify-content:center;padding-top:.25rem}.graph-bar:hover{opacity:.8;transform:scaleY(1.05)}.graph-bar-value{color:#fff;font-weight:600;font-size:.85em;text-shadow:0 1px 2px rgba(0,0,0,.3)}.graph-bar-label{margin-top:.5rem;font-size:.85em;color:#666;font-weight:500}@media(max-width:768px){.mistakes-tips-section{grid-template-columns:1fr}.progress-graph{height:150px}.graph-bar-value{font-size:.75em}}.new-case-button{padding:1rem 2rem;font-size:1.1em;background-color:#646cff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s}.new-case-button:hover{background-color:#535bf2}.evaluating{text-align:center;padding:4rem 2rem}.evaluating h2{color:#1a1a1a;margin-bottom:1rem}.evaluating p{color:#666;font-size:1.1em}.error-message{padding:1rem;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;margin-top:1rem}
