@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@500;600;700&display=swap";:root{--color-bg-base:220 20% 97%;--color-surface:0 0% 100%;--color-primary-base:240 60% 50%;--color-primary-light:240 60% 95%;--color-primary-text:0 0% 100%;--color-text-main:220 30% 15%;--color-text-muted:220 15% 45%;--color-border:#e0e4eb;--color-accent:340 70% 50%;--font-sans:"Inter", system-ui, sans-serif;--font-display:"Outfit", system-ui, sans-serif;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-glass:0 8px 32px 0 #1f268712;--text-main:#1b2232;--text-primary:#1b2232;--text-secondary:#576175;--text-muted:#6c7993;--bg-card:#fff;--border-light:#e0e4eb;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:hsl(var(--color-bg-base));color:hsl(var(--color-text-main));-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2}.glass-panel{-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-glass);border-radius:var(--radius-lg);background:#ffffffb3;border:1px solid #ffffff80}.btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);cursor:pointer;font-weight:500;font-family:var(--font-sans);border:none;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.btn-primary{background-color:hsl(var(--color-primary-base));color:hsl(var(--color-primary-text));box-shadow:0 4px 14px 0 hsla(var(--color-primary-base), .39)}.btn-primary:hover{background:#2e2eb8;transform:translateY(-1px);box-shadow:0 6px 20px #0076ff3b}.simulation-page{height:100dvh;padding:var(--spacing-md);gap:var(--spacing-md);flex-direction:column;max-width:1200px;margin:0 auto;display:flex}.simulation-header{padding:var(--spacing-md) var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.btn-icon-text{align-items:center;gap:var(--spacing-xs);color:hsl(var(--color-text-muted));cursor:pointer;font-family:var(--font-sans);background:0 0;border:none;font-weight:500;transition:color .2s;display:inline-flex}.btn-icon-text:hover{color:hsl(var(--color-primary-base))}.btn-finish{background-color:hsl(var(--color-accent));color:#fff}.btn-finish:hover{background-color:#c32258}.simulation-content{gap:var(--spacing-md);flex:1;min-height:0;display:flex}.patient-sidebar{width:300px;padding:var(--spacing-lg);gap:var(--spacing-md);flex-direction:column;display:flex}.clinical-data-list{gap:var(--spacing-sm);flex-direction:column;font-size:.9rem;list-style:none;display:flex}.info-alert{background:hsl(var(--color-primary-light));color:hsl(var(--color-primary-base));padding:var(--spacing-md);border-radius:var(--radius-md);font-size:.85rem;line-height:1.4}.chat-area{flex-direction:column;flex:1;min-width:0;display:flex}.chat-container{flex-direction:column;height:100%;display:flex;overflow:hidden}.chat-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.status-badge{color:#267326;border-radius:var(--radius-full);text-transform:uppercase;background:#d9f2d9;padding:4px 12px;font-size:.75rem;font-weight:600}.chat-messages{padding:var(--spacing-lg);gap:var(--spacing-lg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.message-wrapper{gap:var(--spacing-sm);max-width:80%;display:flex}.message-user{flex-direction:row-reverse;align-self:flex-end}.message-patient{align-self:flex-start}.message-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.avatar-user{background:hsl(var(--color-primary-base))}.avatar-patient{background:hsl(var(--color-accent))}.message-content{padding:var(--spacing-md);position:relative}.message-user .message-content{background:hsl(var(--color-primary-base));color:#fff;border-top-right-radius:4px}.message-patient .message-content{background:#fff;border-top-left-radius:4px}.message-patient .message-content p{color:var(--text-main);margin:0;line-height:1.5}.markdown-body{width:100%}.markdown-body p{margin-bottom:.5rem}.markdown-body p:last-child{margin-bottom:0}.markdown-body img{border-radius:var(--radius-md);border:1px solid var(--border-light);max-width:100%;height:auto;margin-top:.5rem;display:block;box-shadow:0 4px 6px -1px #0000001a}.message-time{opacity:.7;text-align:right;margin-top:6px;font-size:.7rem;display:block}.chat-input-area{padding:var(--spacing-md);border-top:1px solid var(--color-border);gap:var(--spacing-sm);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);background:#fff;display:flex}.chat-input{padding:var(--spacing-sm) var(--spacing-md);color:hsl(var(--color-text-main));border-radius:var(--radius-full);font-family:var(--font-sans);background:#00000005;border:1px solid #00000026;outline:none;flex:1;font-size:.95rem;transition:all .2s}.chat-input:focus{border-color:hsl(var(--color-primary-base))}.chat-input:disabled{background:hsl(var(--color-bg-base));cursor:not-allowed}.btn-icon{border-radius:50%;width:44px;height:44px;padding:0}.typing-box{align-items:center;gap:4px;display:flex;padding:12px 16px!important}.typing-dot{background:hsl(var(--color-text-muted));border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both typing}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{width:90%;max-width:600px;padding:2rem;position:relative}.btn-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:.5rem;transition:all .2s;position:absolute;top:1rem;right:1rem}.btn-close:hover{color:var(--text-primary);background:#ffffff1a}.clinical-textarea{border:1px solid var(--color-border);width:100%;min-height:150px;color:var(--text-main);resize:vertical;background:#0000000d;border-radius:8px;padding:1rem;font-family:inherit;font-size:1rem;transition:border-color .3s}.clinical-textarea:focus{border-color:hsl(var(--color-primary-base));outline:none}.results-page{flex-direction:column;display:flex}.results-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}.results-grid{grid-template-columns:1fr 2fr;gap:2rem;display:grid}.result-card-main{flex-direction:column;align-items:center;padding:3rem 2rem;display:flex}.score-circle{border:4px solid var(--color-border);background:#00000005;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin:1.5rem 0;font-size:3rem;font-weight:700;display:flex}.score-pass{color:#10b981;border-color:#10b981}.score-fail{color:#ef4444;border-color:#ef4444}.diagnosis-status{margin-bottom:2rem}.status-badge{border-radius:20px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;display:inline-flex}.status-badge.success{color:#10b981;background:#10b9811a}.status-badge.error{color:#ef4444;background:#ef44441a}.real-diagnosis{color:hsl(var(--color-text-muted));font-size:.95rem;line-height:1.5}.feedback-card{padding:2.5rem}.feedback-text{color:hsl(var(--color-text-main));border-bottom:1px solid var(--color-border);margin-bottom:2rem;padding-bottom:2rem;font-size:1.1rem;line-height:1.7}.points-container{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.points-title{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.success-text{color:#10b981}.error-text{color:#ef4444}.points-list{margin:0;padding:0;list-style-type:none}.points-list li{color:hsl(var(--color-text-muted));margin-bottom:.75rem;padding-left:1.5rem;line-height:1.5;position:relative}.points-list li:before{content:"•";color:inherit;position:absolute;left:0}.streaming-cursor{color:var(--color-primary,#6366f1);vertical-align:baseline;margin-left:2px;animation:.8s infinite cursorBlink;display:inline-block}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.accent{color:hsl(var(--color-accent))}.muted,.text-muted{color:var(--text-muted)}.center-screen{text-align:center;min-height:100dvh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;display:flex}.form-error{color:#b91c1c;background:#ef44441a;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.btn-secondary{color:var(--text-main);border:1px solid var(--color-border);background:#fff}.btn-secondary:hover{border-color:hsl(var(--color-primary-base));color:hsl(var(--color-primary-base))}.btn-danger{color:#fff;background:#ef4444}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn-block{width:100%}.icon-button{border:1px solid var(--color-border);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover,.icon-button-on{color:hsl(var(--color-primary-base));border-color:hsl(var(--color-primary-base) / .4)}.text-input,.chat-input{font-size:16px}.text-input{width:100%;font-family:var(--font-sans);color:var(--text-main);background:#fff;border:1px solid #00000026;border-radius:10px;padding:.7rem .9rem}.form-stack{flex-direction:column;gap:1rem;display:flex}.field{color:var(--text-secondary);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.modal-title{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.modal-subtitle{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.9rem}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.modal-content{max-height:92dvh;overflow-y:auto}.page{flex-direction:column;min-height:100dvh;display:flex}.app-header{justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:1000px;margin:0 auto;padding:1rem 1.5rem;display:flex}.brand{align-items:center;gap:.75rem;min-width:0;display:flex}.brand-logo{object-fit:contain;flex-shrink:0;width:56px;height:auto}.brand-title{color:hsl(var(--color-primary-base));font-size:1.8rem;line-height:1}.brand-subtitle{color:var(--text-secondary);font-size:.95rem;font-weight:500}.header-user{align-items:center;gap:.5rem;display:flex}.header-name{color:var(--text-secondary);align-items:center;gap:.3rem;margin-right:.25rem;font-size:.9rem;display:inline-flex}.content{flex-direction:column;flex:1;gap:1.5rem;width:100%;max-width:1000px;margin:0 auto;padding:0 1.5rem 2rem;display:flex}.intro{padding:1.5rem}.intro h2{margin-bottom:.5rem}.intro p{color:var(--text-secondary)}.toggles{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.chip{border:1px solid var(--color-border);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.85rem;display:inline-flex}.chip-on{border-color:hsl(var(--color-primary-base) / .5);color:hsl(var(--color-primary-base));background:hsl(var(--color-primary-light))}.hint{margin-top:.75rem;font-size:.85rem}.section-title{color:var(--text-main);margin-bottom:.75rem;font-size:1.05rem}.case-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem;display:grid}.case-card{text-align:left;border:1px solid var(--color-border);cursor:pointer;font-family:var(--font-sans);color:var(--text-main);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;flex-direction:column;gap:.4rem;padding:1rem 1.1rem;transition:transform .15s,border-color .15s;display:flex}.case-card:hover{border-color:hsl(var(--color-primary-base) / .5);transform:translateY(-1px)}.case-card-active{border-color:hsl(var(--color-accent) / .5);background:#fdf6f9}.case-title{font-weight:600;font-family:var(--font-display);font-size:1.02rem}.case-reason{color:var(--text-secondary);font-size:.88rem}.case-meta{color:var(--text-secondary);font-size:.85rem}.case-action{color:hsl(var(--color-primary-base));align-items:center;gap:.35rem;margin-top:.25rem;font-size:.9rem;font-weight:500;display:inline-flex}.history-list{padding:.25rem .5rem;list-style:none}.history-list li+li{border-top:1px solid var(--color-border)}.history-item{cursor:pointer;text-align:left;width:100%;font-family:var(--font-sans);color:var(--text-main);background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .5rem;font-size:.95rem;display:flex}.score-pill{border-radius:999px;padding:.15rem .6rem;font-size:.9rem;font-weight:700}.score-pill.pass{color:#047857;background:#10b9811f}.score-pill.fail{color:#b91c1c;background:#ef44441f}.app-footer{text-align:center;color:var(--text-secondary);border-top:1px solid var(--color-border);background:#fff;padding:1rem;font-size:.8rem}.simulation-title{font-size:1.2rem}.btn-finish{gap:.4rem}.avatar-box{aspect-ratio:1;background:#e5e7eb;border-radius:12px;flex-shrink:0;width:100%;max-height:320px;overflow:hidden}.avatar-canvas{width:100%;height:100%}.avatar-placeholder{color:#9ca3af;text-align:center;background:linear-gradient(160deg,#eef2ff,#fce7f3);justify-content:center;align-items:center;width:100%;height:100%;font-size:.85rem;display:flex}.avatar-placeholder.speaking{color:hsl(var(--color-accent))}.avatar-loading{color:var(--text-secondary);white-space:nowrap;font-size:.85rem}.case-info{flex-direction:column;gap:.75rem;min-width:0;display:flex}.chat-header-text{min-width:0}.chat-header-text h3{text-overflow:ellipsis;white-space:nowrap;margin-bottom:.25rem;font-size:1rem;overflow:hidden}.chat-header .status-badge{padding:2px 10px;font-size:.7rem}.avatar-system{background:#1f7ead}.message-system .message-content{border:1px solid #bee2f4;background:#eef7fc!important}.system-label{text-transform:uppercase;letter-spacing:.04em;color:#1b6e98;margin-bottom:.25rem;font-size:.7rem;font-weight:700}.message-error{border:1px solid #ef444466}.chat-input-area{padding-bottom:calc(var(--spacing-md) + var(--safe-bottom))}.results-page{min-height:100dvh;padding:var(--spacing-md);gap:var(--spacing-md);flex-direction:column;max-width:1200px;margin:0 auto;display:flex}.results-case{color:var(--text-secondary);margin-bottom:1rem;font-weight:500}.header-spacer{width:80px}.rubric-card,.transcript-card{margin-top:1.5rem;padding:1.5rem}.rubric-card h3{margin-bottom:1rem}.rubric-list{flex-direction:column;gap:.6rem;list-style:none;display:flex}.rubric-item{border:1px solid var(--color-border);background:#fff;border-radius:12px;padding:.75rem 1rem}.rubric-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.rubric-criterion{font-weight:500}.rubric-points{white-space:nowrap;border-radius:999px;padding:.1rem .55rem;font-size:.9rem;font-weight:700}.rubric-points.full{color:#047857;background:#10b9811f}.rubric-points.partial{color:#b45309;background:#f59e0b26}.rubric-points.zero{color:#b91c1c;background:#ef44441f}.rubric-why{color:var(--text-secondary);margin-top:.35rem;font-size:.88rem}.transcript-card summary{cursor:pointer;color:hsl(var(--color-primary-base));font-weight:500}.transcript{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.disclaimer{color:var(--text-muted);text-align:center;margin:1.5rem 0 1rem;font-size:.8rem}@media (width<=768px){.hide-mobile{display:none!important}.app-header{padding:.75rem 1rem}.brand-logo{width:40px}.brand-title{font-size:1.4rem}.brand-subtitle{font-size:.8rem}.header-name{display:none}.content{gap:1.25rem;padding:0 1rem 1.5rem}.intro{padding:1.1rem}.case-grid{grid-template-columns:1fr}.simulation-page{gap:6px;padding:6px;overflow:hidden}.simulation-header{gap:.5rem;padding:6px 10px}.simulation-header .btn-finish{padding:.45rem .9rem}.simulation-content{flex-direction:column;gap:6px}.patient-sidebar{flex-direction:row;align-items:center;gap:10px;width:100%;padding:8px}.avatar-box{border-radius:10px;width:92px;height:92px;max-height:none}.case-info{flex:1;gap:0}.clinical-data-list{gap:2px;font-size:.8rem}.clinical-data-list .reason{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-area{flex:1;min-height:0}.chat-header{padding:8px 10px}.chat-messages{gap:10px;padding:10px}.message-wrapper{max-width:92%}.message-avatar{width:28px;height:28px}.message-content{padding:10px 12px}.chat-input-area{padding:8px;padding-bottom:calc(8px + var(--safe-bottom))}.btn-icon{flex-shrink:0;width:42px;height:42px}.modal-overlay{align-items:flex-end}.modal-content{width:100%;max-width:none;padding:1.25rem 1.1rem calc(1.25rem + var(--safe-bottom));border-radius:20px 20px 0 0}.modal-actions .btn{flex:1}.clinical-textarea{min-height:35dvh}.results-page{padding:6px}.results-content{padding:.75rem .25rem}.results-grid{grid-template-columns:1fr;gap:1rem}.result-card-main{padding:1.5rem 1rem}.feedback-card{padding:1.25rem}.feedback-text{margin-bottom:1.25rem;padding-bottom:1.25rem;font-size:1rem}.points-container{grid-template-columns:1fr;gap:1rem}.rubric-card,.transcript-card{padding:1rem}}.message-footer{justify-content:flex-end;align-items:center;gap:.6rem;margin-top:6px;display:flex}.message-footer .message-time{margin-top:0}.play-button{cursor:pointer;color:var(--text-secondary);font-size:.75rem;font-family:var(--font-sans);background:0 0;border:none;border-radius:999px;align-items:center;gap:.25rem;padding:2px 6px;display:inline-flex}.play-button:hover{color:hsl(var(--color-primary-base));background:hsl(var(--color-primary-light))}.play-button-alert{color:#fff;background:hsl(var(--color-accent));animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.choose-trat{border:2px solid hsl(var(--color-accent) / .5)}.choose-trat h3{margin-bottom:.25rem}.survey{max-width:720px}.survey h3{margin-bottom:.75rem;font-size:1.02rem;line-height:1.4}.survey-block{border:1px solid #0000;padding:1.25rem}.survey-missing{border-color:#f59e0b}.survey-info{color:var(--text-secondary);flex-direction:column;gap:.5rem;margin:.75rem 0 0;padding-left:1.1rem;line-height:1.5;display:flex}.survey-options{flex-wrap:wrap;gap:.4rem;display:flex}.survey-options-vertical{flex-direction:column}.survey-option{border:1px solid var(--color-border);min-width:2.4rem;font:inherit;color:var(--text-main);cursor:pointer;text-align:left;background:#fff;border-radius:10px;padding:.55rem .8rem}.survey-options-vertical .survey-option{width:100%}.survey-option.selected{background:hsl(var(--color-primary-base));border-color:hsl(var(--color-primary-base));color:#fff}.survey-scale-item{margin-bottom:1rem}.survey-scale-item p,.survey-label{color:var(--text-secondary);margin:.75rem 0 .4rem;font-size:.95rem}.survey-scale-item .survey-option{text-align:center;min-width:2.3rem;padding:.5rem 0}.survey-textarea{border:1px solid var(--color-border);width:100%;font:inherit;border-radius:10px;padding:.6rem}.survey-submit{width:100%;padding:.9rem;font-size:1.05rem}@media (width<=480px){.survey-scale-item .survey-option{min-width:calc(14.2857% - .342857rem)}}.case-card-done{opacity:.85}.case-action-done{color:#047857}.form-success{color:#047857;background:#ecfdf5;border-radius:8px;padding:.75rem;font-size:.9rem}.link-button{color:hsl(var(--color-primary-base));cursor:pointer;font:inherit;background:0 0;border:none;padding:.25rem;font-size:.9rem;text-decoration:underline}.field-label{color:var(--text-secondary);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.queue-banner{background:#eef2ff;border-radius:10px;margin-bottom:.5rem;padding:.75rem 1rem;font-size:.9rem}.queue-banner-stop{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.queue-counts{gap:.75rem;margin:1rem 0;display:flex}.queue-counts div{border:1px solid var(--color-border);text-align:center;color:var(--text-secondary);background:#fff;border-radius:10px;flex:1;padding:.6rem;font-size:.85rem}.queue-counts span{color:var(--text-main);font-size:1.5rem;font-weight:700;display:block}.queue-counts .bad span{color:#b91c1c}.queue-title{align-items:center;gap:.35rem;margin:1.25rem 0 .5rem;font-size:.95rem;display:flex}.queue-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.queue-item{border:1px solid var(--color-border);background:#fff;border-radius:8px;padding:.5rem .75rem;font-size:.85rem}.queue-kind{color:var(--text-secondary);background:#f3f4f6;border-radius:6px;margin-left:.5rem;padding:.1rem .4rem;font-size:.75rem}.queue-error{color:#b91c1c;margin-top:.2rem}
