@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&display=swap";:root{color-scheme:light;font-family:Fredoka,ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:linear-gradient(135deg,#e0f7fa,#b2ebf2,#80deea 60%,#4dd0e1);color:#1a1a2e;overflow-x:hidden}.game-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:1rem}.menu-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;animation:fadeIn .8s ease-out}.menu-title{font-size:3.5rem;font-weight:700;color:#00695c;text-shadow:2px 2px 0 #b2dfdb,4px 4px 0 rgba(0,0,0,.1);margin-bottom:.5rem;letter-spacing:-.02em}.menu-subtitle{font-size:1.2rem;color:#00796b;margin-bottom:2.5rem;max-width:500px}.tooth-mascot{font-size:6rem;margin-bottom:1.5rem;animation:bounce 2s ease-in-out infinite;filter:drop-shadow(0 8px 16px rgba(0,0,0,.2))}.play-btn{background:linear-gradient(135deg,#00897b,#00695c);color:#fff;border:none;padding:1rem 3rem;font-size:1.4rem;font-weight:600;border-radius:50px;cursor:pointer;font-family:inherit;box-shadow:0 4px 15px #00695c66,inset 0 1px #fff3;transition:all .2s ease;position:relative;overflow:hidden}.play-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00695c80,inset 0 1px #fff3}.play-btn:active{transform:translateY(0)}.menu-features{display:flex;gap:1.5rem;margin-top:2.5rem;flex-wrap:wrap;justify-content:center}.feature-badge{background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.6rem 1.2rem;border-radius:30px;font-size:.85rem;color:#00695c;font-weight:500;border:1px solid rgba(0,105,92,.15)}.level-select{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:2rem 1rem;animation:fadeIn .5s ease-out}.level-select h2{font-size:2rem;color:#00695c;margin-bottom:.5rem}.level-select-subtitle{color:#00796b;margin-bottom:2rem}.patients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;max-width:900px;width:100%}.patient-card{background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:1.5rem;text-align:center;cursor:pointer;border:2px solid transparent;transition:all .3s ease;box-shadow:0 4px 15px #00000014}.patient-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001f;border-color:#00897b}.patient-card.locked{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.patient-card.locked:hover{transform:none;border-color:transparent;box-shadow:0 4px 15px #00000014}.patient-avatar{font-size:3.5rem;margin-bottom:.75rem;display:block}.patient-name{font-weight:600;color:#1a1a2e;font-size:1.1rem;margin-bottom:.25rem}.patient-desc{font-size:.8rem;color:#666;margin-bottom:.75rem}.patient-stars{color:#f9a825;font-size:1.2rem;letter-spacing:2px}.back-btn{background:none;border:2px solid #00897b;color:#00897b;padding:.6rem 1.5rem;border-radius:30px;font-size:1rem;font-weight:500;cursor:pointer;font-family:inherit;margin-top:2rem;transition:all .2s ease}.back-btn:hover{background:#00897b;color:#fff}.game-hud{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:800px;padding:1rem;gap:1rem;flex-wrap:wrap}.hud-left{display:flex;align-items:center;gap:1rem}.hud-btn{background:#fffc;border:none;padding:.5rem 1rem;border-radius:12px;font-size:.9rem;font-weight:500;cursor:pointer;font-family:inherit;color:#00695c;transition:all .2s}.hud-btn:hover{background:#fff;box-shadow:0 2px 8px #0000001a}.score-display{background:#ffffffd9;padding:.5rem 1.2rem;border-radius:12px;font-weight:600;color:#00695c;display:flex;align-items:center;gap:.5rem;font-size:1.1rem}.score-icon{font-size:1.3rem}.level-badge{background:linear-gradient(135deg,#00897b,#00695c);color:#fff;padding:.5rem 1rem;border-radius:12px;font-weight:600;font-size:.9rem}.patient-info-bar{background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:.8rem 1.5rem;display:flex;align-items:center;gap:1rem;margin-bottom:1rem;max-width:800px;width:100%;box-shadow:0 2px 10px #0000000f}.patient-info-avatar{font-size:2rem}.patient-info-name{font-weight:600;color:#1a1a2e}.patient-info-problem{font-size:.8rem;color:#666}.progress-bar-container{flex:1;display:flex;align-items:center;gap:.5rem}.progress-label{font-size:.8rem;color:#666;font-weight:500;white-space:nowrap}.progress-bar{flex:1;height:10px;background:#e0e0e0;border-radius:10px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#00897b,#4db6ac);border-radius:10px;transition:width .5s ease}.mouth-area{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:2rem;max-width:800px;width:100%;box-shadow:0 8px 30px #0000001a;position:relative;min-height:350px;display:flex;flex-direction:column;align-items:center}.mouth-label{position:absolute;top:.8rem;right:1.2rem;font-size:.75rem;color:#999;font-weight:500}.jaw-section{width:100%;display:flex;flex-direction:column;align-items:center}.teeth-row{display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.gum{width:90%;height:18px;background:linear-gradient(180deg,#ef9a9a,#e57373);border-radius:0 0 20px 20px}.gum-upper{background:linear-gradient(0deg,#ef9a9a,#e57373);border-radius:20px 20px 0 0;margin-bottom:0}.mouth-gap{width:80%;height:30px;background:linear-gradient(180deg,#e57373,#ef5350,#e57373);border-radius:0 0 50% 50%;display:flex;align-items:center;justify-content:center;position:relative}.tongue{font-size:1.2rem;position:absolute;bottom:-5px}.tooth{width:38px;height:50px;border-radius:8px 8px 12px 12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:#fff;position:relative;border:2px solid transparent;-webkit-user-select:none;user-select:none}.tooth:hover{transform:scale(1.1);z-index:2}.tooth.selected{border-color:#ff6f00;box-shadow:0 0 0 3px #ff6f004d;transform:scale(1.1)}.tooth-clean{background:linear-gradient(180deg,#f5f5f5,#e0e0e0);border-color:#bdbdbd;color:#999}.tooth-dirty{background:linear-gradient(180deg,#a1887f,#8d6e63);border-color:#6d4c41}.tooth-cavity{background:linear-gradient(180deg,#4e342e,#3e2723);border-color:#2c1a10}.tooth-cavity:after{content:"";position:absolute;width:12px;height:12px;background:#1a1a1a;border-radius:50%;top:30%}.tooth-broken{background:linear-gradient(180deg,#d7ccc8,#bcaaa4);border-color:#a1887f;clip-path:polygon(0 0,100% 0,100% 60%,80% 70%,100% 80%,70% 100%,30% 100%,0 80%,20% 70%,0 60%)}.tooth-yellow{background:linear-gradient(180deg,#fdd835,#f9a825);border-color:#f57f17;color:#5d4037}.tooth-missing{background:#ffcdd2;border:2px dashed #ef9a9a;opacity:.5}.tooth-filled{background:linear-gradient(180deg,#b2dfdb,#80cbc4);border-color:#4db6ac}.tooth-spacer{width:10px;visibility:hidden}.tools-bar{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;max-width:800px;width:100%;margin-top:1.5rem}.tool-btn{background:#ffffffe6;border:2px solid #e0e0e0;padding:.6rem .9rem;border-radius:14px;cursor:pointer;font-family:inherit;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:75px}.tool-btn:hover{border-color:#00897b;background:#e0f2f1;transform:translateY(-2px)}.tool-btn.active{border-color:#00897b;background:#b2dfdb;box-shadow:0 2px 10px #00897b4d}.tool-btn.locked{opacity:.4;cursor:not-allowed;filter:grayscale(.5)}.tool-btn.locked:hover{border-color:#e0e0e0;background:#ffffffe6;transform:none}.tool-icon{font-size:1.5rem}.tool-name{font-size:.65rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.5px}.message-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:.8rem 1.5rem;border-radius:12px;font-weight:600;font-size:1rem;pointer-events:none;animation:messagePop 1.5s ease forwards;z-index:10;white-space:nowrap}.message-overlay.success{background:#00897be6}.message-overlay.warning{background:#f57c00e6}.message-overlay.error{background:#d32f2fe6}.particle{position:fixed;pointer-events:none;font-size:1.2rem;animation:particleFly 1s ease-out forwards;z-index:100}.score-popup{position:fixed;pointer-events:none;font-weight:700;font-size:1.4rem;color:#00897b;animation:scoreFloat 1s ease-out forwards;z-index:100;text-shadow:0 1px 3px rgba(0,0,0,.2)}.results-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;animation:fadeIn .5s ease-out;padding:2rem}.results-card{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:3rem 2.5rem;max-width:420px;width:100%;box-shadow:0 8px 30px #0000001a}.results-emoji{font-size:4rem;margin-bottom:1rem}.results-title{font-size:2rem;color:#00695c;margin-bottom:.5rem}.results-score{font-size:3rem;font-weight:700;color:#00897b;margin-bottom:.25rem}.results-score-label{color:#666;font-size:.9rem;margin-bottom:1.5rem}.stars-display{font-size:2.5rem;margin-bottom:1.5rem;letter-spacing:4px}.results-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;text-align:left}.stat-item{background:#f5f5f5;padding:.8rem;border-radius:12px}.stat-label{font-size:.7rem;color:#888;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.stat-value{font-size:1.3rem;font-weight:700;color:#333}.results-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.results-btn{padding:.8rem 2rem;border-radius:30px;font-size:1rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s ease;border:none}.results-btn.primary{background:linear-gradient(135deg,#00897b,#00695c);color:#fff;box-shadow:0 4px 15px #00695c4d}.results-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00695c66}.results-btn.secondary{background:#f5f5f5;color:#555}.results-btn.secondary:hover{background:#e0e0e0}.tutorial-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .3s ease}.tutorial-card{background:#fff;border-radius:20px;padding:2rem;max-width:400px;text-align:center;box-shadow:0 20px 60px #0000004d}.tutorial-card h3{font-size:1.5rem;color:#00695c;margin-bottom:1rem}.tutorial-card p{color:#555;margin-bottom:1rem;line-height:1.6}.tutorial-steps{text-align:left;margin-bottom:1.5rem}.tutorial-step{display:flex;align-items:center;gap:.8rem;padding:.5rem 0}.tutorial-step-num{background:#00897b;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}.tutorial-got-it{background:linear-gradient(135deg,#00897b,#00695c);color:#fff;border:none;padding:.8rem 2.5rem;border-radius:30px;font-size:1rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s}.tutorial-got-it:hover{transform:translateY(-2px)}.combo-display{position:absolute;top:50%;right:1rem;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:.3rem}.combo-count{font-size:2rem;font-weight:700;color:#ff6f00;text-shadow:0 2px 4px rgba(0,0,0,.1)}.combo-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#ff6f00}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes messagePop{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}30%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-70%) scale(.9)}}@keyframes particleFly{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.5)}}@keyframes scoreFloat{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-60px) scale(1.3)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}@keyframes toothShine{0%{background-position:-200% center}to{background-position:200% center}}.tooth-just-cleaned{animation:toothShineAnim .5s ease}@keyframes toothShineAnim{0%{box-shadow:0 0 #fff0}50%{box-shadow:0 0 20px 5px #fffc}to{box-shadow:0 0 #fff0}}@media(max-width:600px){.menu-title{font-size:2.5rem}.tooth{width:30px;height:40px;font-size:.6rem}.tools-bar{gap:.4rem}.tool-btn{padding:.5rem .6rem;min-width:60px}.tool-icon{font-size:1.2rem}.tool-name{font-size:.55rem}.mouth-area{padding:1.5rem 1rem}.game-hud{justify-content:center}.patient-info-bar{flex-direction:column;text-align:center}.progress-bar-container{width:100%}}
