@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--green: #4CAF50;--green-dark: #388E3C;--green-light: #E8F5E9;--bamboo: #8BC34A;--gold: #FFD700;--coral: #FF6B6B;--sky: #E3F2FD;--radius: 16px}body{font-family:Nunito,Segoe UI,sans-serif;background:linear-gradient(135deg,#e8f5e9,#e3f2fd);min-height:100vh;min-height:100dvh;overflow-x:hidden}.game-root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}@keyframes pandaBounce{0%{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-8px) rotate(2deg)}}@keyframes animalBob{0%{transform:translateY(0)}to{transform:translateY(-6px)}}@keyframes slideInLeft{0%{transform:translate(-60px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(60px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1)}}@keyframes floatUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(-80px);opacity:0}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes rainbow{0%{color:#ff6b6b}20%{color:gold}40%{color:#4caf50}60%{color:#2196f3}80%{color:#9c27b0}to{color:#ff6b6b}}@keyframes bannerSlide{0%{transform:translateY(-100%)}20%{transform:translateY(0)}80%{transform:translateY(0)}to{transform:translateY(-100%)}}.creation-screen{min-height:100vh;min-height:100dvh;background:linear-gradient(160deg,#e8f5e9,#b3e5fc,#f3e5f5);display:flex;align-items:center;justify-content:center;padding:20px}.creation-card{background:#fff;border-radius:28px;box-shadow:0 20px 60px #0000001f;padding:36px;width:100%;max-width:580px;animation:slideInUp .5s ease}.creation-header{text-align:center;margin-bottom:20px}.bamboo-text{font-size:24px;font-weight:900;color:var(--green-dark);letter-spacing:2px;animation:rainbow 3s infinite;margin-bottom:4px}.creation-header h1{font-size:26px;font-weight:900;color:#1b5e20;margin-bottom:12px}.step-indicator{display:flex;gap:10px;justify-content:center}.step-dot{width:12px;height:12px;border-radius:50%;background:#e0e0e0;transition:all .3s ease}.step-dot.active{background:var(--green);transform:scale(1.3);box-shadow:0 0 8px #4caf5080}.step-dot.done{background:var(--bamboo)}.creation-panda-preview{display:flex;flex-direction:column;align-items:center;gap:4px;margin:16px 0}.panda-name-badge{background:linear-gradient(135deg,var(--green),var(--bamboo));color:#fff;padding:4px 16px;border-radius:20px;font-weight:800;font-size:15px;box-shadow:0 4px 12px #4caf504d}.creation-step{display:flex;flex-direction:column;align-items:center;gap:16px;animation:fadeIn .3s ease}.creation-step h2{font-size:20px;font-weight:800;color:#2e7d32;text-align:center}.name-input{width:100%;max-width:320px;padding:14px 20px;border:3px solid var(--green);border-radius:50px;font-size:20px;font-family:Nunito,sans-serif;font-weight:700;text-align:center;outline:none;transition:box-shadow .2s;color:#1b5e20}.name-input:focus{box-shadow:0 0 0 4px #4caf5033}.error-msg{color:#f44336;font-weight:700;font-size:14px}.gender-grid{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.gender-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 24px;border:3px solid #E0E0E0;border-radius:20px;background:#fff;cursor:pointer;font-family:Nunito,sans-serif;font-weight:700;font-size:16px;transition:all .2s;min-width:110px}.gender-btn:hover{border-color:var(--green);transform:translateY(-2px)}.gender-btn.selected{border-color:var(--green);background:var(--green-light);box-shadow:0 4px 16px #4caf5040}.gender-emoji{font-size:28px}.accessory-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;width:100%}.accessory-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border:2px solid #E0E0E0;border-radius:14px;background:#fff;cursor:pointer;font-family:Nunito,sans-serif;transition:all .2s}.accessory-btn:hover{border-color:var(--green);transform:scale(1.05)}.accessory-btn.selected{border-color:var(--green);background:var(--green-light);box-shadow:0 4px 12px #4caf504d;transform:scale(1.08)}.acc-emoji{font-size:26px}.acc-name{font-size:9px;font-weight:700;color:#555;text-align:center}.btn-primary{background:linear-gradient(135deg,var(--green),var(--bamboo));color:#fff;border:none;padding:12px 32px;border-radius:50px;font-family:Nunito,sans-serif;font-size:18px;font-weight:800;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px #4caf5059}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5073}.btn-primary:active{transform:translateY(0)}.btn-primary.btn-big{padding:16px 48px;font-size:20px;animation:pulse 2s infinite}.runner-screen{min-height:100vh;min-height:100dvh;background:linear-gradient(180deg,#87ceeb,#e8f5e9 60%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:16px}.runner-header{text-align:center;color:#1b5e20}.runner-header h1{font-size:28px;font-weight:900;margin-bottom:4px}.runner-header p{font-size:14px;color:#388e3c;font-weight:600}.runner-canvas{border-radius:20px;box-shadow:0 12px 40px #0003;border:4px solid var(--green-dark);width:auto;height:auto;max-width:100%;max-height:66dvh}.runner-footer{color:#2e7d32;font-weight:700;font-size:15px}.clinic-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;transition:background-color .4s}.clinic-card{background:#fff;border-radius:28px;box-shadow:0 20px 60px #0000001f;padding:32px;width:100%;max-width:700px;display:flex;flex-direction:column;gap:24px;animation:slideInUp .5s ease}.clinic-header{text-align:center}.celebration{font-size:30px;margin-bottom:8px;animation:wiggle .5s infinite}.clinic-header h1{font-size:26px;font-weight:900;color:#1b5e20}.clinic-header p{color:#555;font-size:15px;margin-top:4px}.clinic-preview{display:flex;justify-content:center}.clinic-building{width:200px;border-radius:20px;border:3px solid;overflow:hidden;box-shadow:0 8px 24px #0000001a;transition:all .3s}.clinic-roof{padding:10px;text-align:center;color:#fff;font-size:11px;font-weight:800;letter-spacing:1px;transition:background-color .3s}.clinic-interior{padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:120px;transition:background-color .3s}.clinic-sign{font-weight:800;font-size:14px}.clinic-panda{display:flex;flex-direction:column;align-items:center;gap:4px}.panda-label{font-size:11px;font-weight:700;color:#555}.clinic-options{display:flex;flex-direction:column;gap:20px}.option-section h2{font-size:18px;font-weight:800;color:#1b5e20;margin-bottom:12px}.specialty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.specialty-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:2.5px solid #E0E0E0;border-radius:16px;background:#fff;cursor:pointer;font-family:Nunito,sans-serif;transition:all .2s}.specialty-btn:hover{border-color:var(--green);transform:translateY(-2px)}.specialty-btn.selected{box-shadow:0 4px 16px #0000001f}.specialty-emoji{font-size:28px}.specialty-name{font-size:13px;font-weight:800;color:#1b5e20}.specialty-desc{font-size:10px;color:#888;text-align:center}.color-grid{display:flex;gap:10px;flex-wrap:wrap}.color-btn{width:44px;height:44px;border-radius:50%;border:3px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:18px;color:#fff;font-weight:900}.color-btn.selected{border-color:#333;transform:scale(1.2);box-shadow:0 4px 12px #0003}.color-btn:hover{transform:scale(1.1)}.color-name{font-size:14px;font-weight:700;color:#555;margin-top:8px}.patient-room{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden}.room-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;color:#fff;box-shadow:0 4px 16px #00000026;flex-wrap:wrap;gap:10px}.room-header-left{display:flex;align-items:center;gap:12px}.room-doc-name{font-size:18px;font-weight:900}.room-specialty{font-size:13px;font-weight:700;opacity:.9}.room-score-section{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.room-score{font-size:22px;font-weight:900}.mini-game-progress{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.mgp-label{font-size:11px;font-weight:700;opacity:.9}.mgp-bar{width:160px;height:8px;background:#ffffff4d;border-radius:4px;overflow:hidden}.mgp-fill{height:100%;border-radius:4px;transition:width .4s ease}.difficulty-badge{font-size:13px;font-weight:700;opacity:.9}.room-content{flex:1;display:grid;grid-template-columns:1fr 360px;gap:16px;padding:16px;max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px);overflow:hidden}.room-decor{background:#fff;border-radius:20px;border:3px solid;padding:20px;display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;box-shadow:0 8px 24px #00000014;overflow:hidden}.room-number{position:absolute;top:0;left:0;padding:6px 16px;color:#fff;font-weight:800;font-size:13px;border-radius:0 0 16px}.waiting-label{margin-top:24px;font-size:14px;font-weight:700;color:#888}.patient-area{display:flex;flex-direction:column;align-items:center;gap:12px;flex:1;width:100%;transition:all .4s ease}.patient-area.patient-entering{animation:slideInLeft .5s ease}.patient-area.patient-leaving{animation:slideInRight .5s ease reverse}.patient-speech-bubble{position:relative;background:#fff;border:2.5px solid;border-radius:16px;padding:14px 16px;width:100%;max-width:300px;box-shadow:0 4px 12px #00000014}.patient-speech-bubble strong{font-size:14px;color:#333}.patient-speech-bubble{font-size:14px;color:#555;line-height:1.5}.symptom-tag{margin-top:8px;font-size:12px;color:#777;font-weight:600;background:#f5f5f5;padding:4px 10px;border-radius:20px}.difficulty-stars{margin-top:6px;font-size:12px;color:#888}.patient-figure{display:flex;flex-direction:column;align-items:center;gap:6px}.patient-name-tag{background:#f5f5f5;padding:4px 14px;border-radius:20px;font-size:13px;font-weight:700;color:#555}.doctor-area{position:absolute;bottom:10px;right:10px;display:flex;align-items:flex-end;gap:4px}.clipboard{font-size:24px}.treatment-panel{display:flex;flex-direction:column;gap:14px;background:#fff;border-radius:20px;padding:20px;box-shadow:0 8px 24px #00000014;overflow-y:auto}.treatment-panel h3{font-size:18px;font-weight:800;color:#1b5e20}.options-grid{display:flex;flex-direction:column;gap:10px}.option-btn{padding:14px 18px;border:2.5px solid;border-radius:14px;background:#fff;cursor:pointer;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;text-align:left;transition:all .2s;color:#333;line-height:1.4}.option-btn:hover:not(:disabled){transform:translate(4px);box-shadow:0 4px 12px #0000001a}.option-btn:disabled{cursor:default}.option-btn.correct{border-color:#4caf50;background:#e8f5e9;color:#1b5e20}.option-btn.wrong{border-color:#f44336;background:#ffebee;color:#b71c1c}.option-btn.dimmed{opacity:.4}.result-banner{border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px;animation:popIn .4s ease}.result-banner.correct{background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border:2px solid #4CAF50}.result-banner.wrong{background:linear-gradient(135deg,#ffebee,#fff3e0);border:2px solid #F44336}.result-icon{font-size:28px;text-align:center}.result-text{display:flex;flex-direction:column;gap:4px}.result-text strong{font-size:16px;color:#1b5e20}.result-text span{font-size:13px;color:#555}.result-banner.wrong .result-text strong{color:#b71c1c}.btn-next{color:#fff;border:none;padding:12px 24px;border-radius:50px;font-family:Nunito,sans-serif;font-size:16px;font-weight:800;cursor:pointer;transition:all .2s;text-align:center}.btn-next:hover{filter:brightness(1.1);transform:translateY(-2px)}.floating-points{position:fixed;top:120px;right:40px;background:linear-gradient(135deg,gold,#ffa000);color:#fff;padding:10px 20px;border-radius:30px;font-size:22px;font-weight:900;animation:floatUp 1.5s ease forwards;z-index:100;box-shadow:0 4px 16px #ffa00066}.minigame-banner{position:fixed;top:0;left:0;right:0;z-index:200;animation:bannerSlide 2.2s ease forwards}.banner-content{background:linear-gradient(135deg,#9c27b0,#673ab7);color:#fff;text-align:center;padding:16px;font-size:24px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:16px;box-shadow:0 8px 24px #0003}.minigame-screen{min-height:100vh;min-height:100dvh;background:linear-gradient(160deg,#e3f2fd,#ede7f6);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:16px}.minigame-header{text-align:center;color:#311b92}.minigame-header h1{font-size:30px;font-weight:900;margin-bottom:4px}.minigame-header p{font-size:14px;font-weight:600;color:#512da8}.minigame-controls{display:flex;gap:16px}.tetris-controls{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:4px}.tetris-row{display:flex;gap:10px;justify-content:center}.tetris-btn{padding:14px 22px;font-size:18px;min-width:72px;touch-action:manipulation;-webkit-user-select:none;user-select:none}.tetris-btn--drop{background:linear-gradient(135deg,#ff6f00,#f57c00);box-shadow:0 4px 14px #ff6f0066}.ctrl-btn{padding:12px 28px;background:linear-gradient(135deg,#7c4dff,#651fff);color:#fff;border:none;border-radius:50px;font-family:Nunito,sans-serif;font-size:17px;font-weight:800;cursor:pointer;transition:all .2s;box-shadow:0 4px 14px #7c4dff66}.ctrl-btn:hover{transform:translateY(-2px)}.quiz-screen{min-height:100vh;min-height:100dvh;background:linear-gradient(160deg,#fff8e1,#f3e5f5);display:flex;align-items:center;justify-content:center;padding:20px}.quiz-card{background:#fff;border-radius:28px;box-shadow:0 20px 60px #0000001f;padding:32px;width:100%;max-width:620px;display:flex;flex-direction:column;gap:24px;animation:slideInUp .4s ease}.quiz-header{text-align:center}.quiz-header h1{font-size:26px;font-weight:900;color:#4a148c;margin-bottom:6px}.quiz-header p{color:#7b1fa2;font-size:14px;font-weight:600}.quiz-progress{display:flex;gap:8px;justify-content:center;margin-top:12px}.quiz-dot{width:10px;height:10px;border-radius:50%;background:#e0e0e0;transition:all .3s}.quiz-dot.active{background:#9c27b0;transform:scale(1.3)}.quiz-dot.done{background:#ce93d8}.quiz-counter{font-size:13px;font-weight:700;color:#888;margin-top:6px}.quiz-question .question-bubble{background:linear-gradient(135deg,#f3e5f5,#ede7f6);border-radius:20px;padding:20px 24px;display:flex;gap:12px;align-items:flex-start}.question-icon{font-size:28px;flex-shrink:0}.question-bubble p{font-size:18px;font-weight:700;color:#4a148c;line-height:1.5}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quiz-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border:2.5px solid #E0E0E0;border-radius:16px;background:#fff;cursor:pointer;font-family:Nunito,sans-serif;transition:all .2s}.quiz-option:hover{border-color:#9c27b0;transform:translateY(-2px);box-shadow:0 4px 12px #9c27b026}.quiz-option.selected{border-color:#9c27b0;background:#f3e5f5;animation:popIn .3s ease}.quiz-option.dimmed{opacity:.4}.option-animal{display:flex;justify-content:center}.option-text{font-size:13px;font-weight:700;color:#4a148c;text-align:center;line-height:1.3}.quiz-result-card{background:#fff;border-radius:28px;box-shadow:0 20px 60px #0000001f;padding:40px;width:100%;max-width:500px;display:flex;flex-direction:column;align-items:center;gap:20px;animation:popIn .5s ease}.result-celebration{font-size:32px;animation:wiggle .5s infinite}.quiz-result-card h1{font-size:22px;font-weight:900;color:#4a148c;text-align:center}.result-animal-display{display:flex;flex-direction:column;align-items:center;gap:12px}.result-animal-name{font-size:26px;font-weight:900;color:#9c27b0;animation:rainbow 2s infinite}.result-description{font-size:15px;font-weight:600;color:#555;text-align:center;line-height:1.6;padding:16px;background:linear-gradient(135deg,#f3e5f5,#ede7f6);border-radius:16px}.age-grid{display:flex;flex-direction:column;gap:10px;width:100%;max-width:380px}.age-btn{display:flex;align-items:center;gap:12px;padding:14px 18px;border:2.5px solid #E0E0E0;border-radius:16px;background:#fff;cursor:pointer;font-family:Nunito,sans-serif;text-align:left;transition:all .2s;width:100%}.age-btn:hover{border-color:var(--green);transform:translate(4px)}.age-btn.selected{border-color:var(--green);background:var(--green-light);box-shadow:0 4px 14px #4caf5040;transform:translate(4px)}.age-emoji{font-size:28px;flex-shrink:0}.age-label{font-size:16px;font-weight:800;color:#1b5e20}.age-desc{font-size:11px;color:#888;font-weight:600;margin-top:2px;display:block}.clinic-room-panel{background:#fff;border-radius:20px;box-shadow:0 8px 24px #00000014;overflow:hidden;position:relative;display:flex;align-items:stretch;min-height:300px}.clinic-room{position:relative;width:100%;height:100%;flex:1}.clinic-room svg{display:block;width:100%;height:100%}.decoration-overlay{position:absolute;inset:0;pointer-events:none}.decoration-wrap{position:absolute;transform:translate(-50%,-50%);animation:popIn .4s ease;pointer-events:all}.decoration-wrap.selected{z-index:5}.decoration-item{font-size:28px;display:block;transform-origin:center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15));cursor:default;user-select:none;-webkit-user-select:none;touch-action:none}.decoration-item.draggable{cursor:grab}.decoration-item.draggable:active{cursor:grabbing;filter:drop-shadow(0 6px 12px rgba(0,0,0,.3))}.decoration-wrap.selected .decoration-item{outline:2.5px dashed rgba(0,0,0,.25);outline-offset:6px;border-radius:8px}.decoration-controls{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;display:flex;gap:6px;background:#fff;padding:4px;border-radius:999px;box-shadow:0 4px 12px #0000002e;z-index:6}.dec-size-btn{width:28px;height:28px;border:none;border-radius:50%;background:#4caf50;color:#fff;font-size:18px;font-weight:900;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s,background .2s}.dec-size-btn:hover:not(:disabled){transform:scale(1.15)}.dec-size-btn:active:not(:disabled){transform:scale(.92)}.dec-size-btn:disabled{background:#cfd8dc;cursor:not-allowed}.aquarium{width:64px;display:flex;flex-direction:column;align-items:center}.aquarium-water{position:relative;width:64px;height:44px;border-radius:10px 10px 8px 8px;background:linear-gradient(180deg,#b2ebf28c,#4fc3f799 60%,#29b6f6a6);border:2.5px solid rgba(2,136,209,.55);box-shadow:inset 0 3px 8px #ffffff80,0 2px 5px #00000026;overflow:hidden}.aqua-fish{position:absolute;font-size:15px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}.aqua-fish.fish1{top:5px;left:-16px;animation:swimRight 5s linear infinite}.aqua-fish.fish2{top:22px;left:64px;animation:swimLeft 6.5s linear infinite;font-size:13px}.aqua-fish.fish3{top:13px;left:-16px;animation:swimRight 7.5s linear infinite 1.5s;font-size:12px}.aqua-plant{position:absolute;bottom:-2px;font-size:14px}.aqua-plant.plant1{left:3px}.aqua-plant.plant2{right:3px;font-size:12px}.aqua-bubble{position:absolute;width:4px;height:4px;border-radius:50%;background:#ffffffbf}.aqua-bubble.bub1{left:14px;animation:bubbleUp 3s ease-in infinite}.aqua-bubble.bub2{left:38px;animation:bubbleUp 4s ease-in infinite 1s}.aqua-bubble.bub3{left:50px;animation:bubbleUp 3.5s ease-in infinite 2s}.aquarium-base{width:56px;height:6px;border-radius:0 0 4px 4px;background:linear-gradient(180deg,#8d6e63,#6d4c41)}@keyframes swimRight{0%{transform:translate(0) scaleX(1)}to{transform:translate(82px) scaleX(1)}}@keyframes swimLeft{0%{transform:translate(0) scaleX(-1)}to{transform:translate(-82px) scaleX(-1)}}@keyframes bubbleUp{0%{bottom:2px;opacity:0}20%{opacity:1}to{bottom:40px;opacity:0}}.shop-btn{background:#fff3;border:2px solid rgba(255,255,255,.5);border-radius:14px;color:#fff;padding:8px 16px;font-family:Nunito,sans-serif;font-size:14px;font-weight:800;cursor:pointer;transition:all .2s;text-align:center;line-height:1.4;white-space:nowrap}.shop-btn:hover{background:#ffffff59;transform:translateY(-2px)}.shop-btn span{font-size:11px;opacity:.9;display:block}.back-to-clinic-btn{background:#0000002e;border:2px solid rgba(255,255,255,.4);border-radius:14px;color:#fff;padding:8px 14px;font-family:Nunito,sans-serif;font-size:13px;font-weight:800;cursor:pointer;transition:all .2s;white-space:nowrap}.back-to-clinic-btn:hover{background:#00000052;transform:translateY(-2px)}.shop-overlay{position:fixed;inset:0;background:#0000008c;z-index:300;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .2s ease}.shop-modal{background:#fff;border-radius:24px;width:100%;max-width:620px;max-height:85vh;overflow-y:auto;box-shadow:0 24px 80px #00000040;display:flex;flex-direction:column;align-items:center;animation:popIn .3s ease}.shop-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-radius:24px 24px 0 0;color:#fff;gap:12px}.shop-header h2{font-size:20px;font-weight:900;flex:1}.shop-balance{font-size:18px;font-weight:800;background:#fff3;padding:4px 14px;border-radius:20px}.shop-close{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;font-size:16px;font-weight:900;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center}.shop-close:hover{background:#ffffff59}.shop-subtitle{font-size:14px;color:#888;font-weight:600;padding:10px 20px 0;text-align:center}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;padding:16px 20px;width:100%}.shop-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;border:2px solid #E0E0E0;border-radius:16px;background:#fff;transition:all .2s;text-align:center}.shop-item:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.shop-item.owned{background:#f1f8e9;border-color:#81c784}.shop-item-emoji{font-size:36px}.shop-item-name{font-size:13px;font-weight:800;color:#333}.shop-item-desc{font-size:11px;color:#888;line-height:1.4;flex:1}.shop-item-price{font-size:14px;font-weight:800;color:#f57f17}.shop-item-owned{color:#4caf50;font-weight:800;font-size:13px;padding:4px 12px;background:#e8f5e9;border-radius:20px}.shop-buy-btn{color:#fff;border:none;padding:7px 16px;border-radius:20px;font-family:Nunito,sans-serif;font-size:13px;font-weight:800;cursor:pointer;transition:all .2s;background:#9e9e9e}.shop-buy-btn:not(:disabled):hover{filter:brightness(1.1);transform:scale(1.05)}.shop-buy-btn:disabled{background:#e0e0e0;color:#9e9e9e;cursor:not-allowed}.patient-speech-bubble{background:#fff;border:2.5px solid;border-radius:16px;padding:14px 16px;box-shadow:0 4px 12px #00000014}.speech-patient-name{font-size:15px;font-weight:900;margin-bottom:6px}.speech-text{font-size:14px;color:#333;line-height:1.5;margin-bottom:8px;font-style:italic}.treatment-title{font-size:17px;font-weight:800;color:#1b5e20}.clinic-room{position:relative;width:100%;min-height:280px;overflow:hidden;border-radius:20px}.clinic-room svg{display:block;width:100%;height:auto;pointer-events:none}.room-doctor{position:absolute;right:2%;bottom:6%;z-index:2;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15))}.room-patient{position:absolute;left:30%;bottom:24%;z-index:3;filter:drop-shadow(0 4px 8px rgba(0,0,0,.12))}.wrong-counter{display:flex;gap:4px;align-items:center}.wrong-heart{font-size:20px;transition:transform .3s ease;line-height:1}.wrong-heart.broken{animation:heartBreak .4s ease;filter:grayscale(.4)}@keyframes heartBreak{0%{transform:scale(1.4) rotate(-10deg)}50%{transform:scale(.8) rotate(5deg)}to{transform:scale(1) rotate(0)}}.gameover-screen{min-height:100vh;min-height:100dvh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;align-items:center;justify-content:center;padding:20px}.gameover-card{background:#ffffff12;border:2px solid rgba(255,100,100,.4);border-radius:28px;padding:40px 48px;max-width:480px;width:100%;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 24px 80px #0006;animation:popIn .5s ease}.gameover-top{margin-bottom:24px}.gameover-emoji{font-size:64px;animation:shake .5s ease .3s;display:block;margin-bottom:8px}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}.gameover-title{font-size:52px;font-weight:900;color:#ff5252;letter-spacing:4px;text-shadow:0 0 30px rgba(255,82,82,.5);margin:0 0 8px}.gameover-subtitle{color:#ffffffb3;font-size:16px;font-weight:600}.gameover-score-box{background:#ffffff1a;border-radius:16px;padding:16px 24px;margin:0 0 24px}.gameover-score-label{font-size:13px;color:#fff9;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.gameover-score-value{font-size:40px;font-weight:900;color:gold}.gameover-message{color:#ffffffbf;font-size:15px;line-height:1.7;margin-bottom:28px}.gameover-message p{margin:4px 0}.gameover-btn{background:linear-gradient(135deg,#ff5252,#d32f2f)!important;font-size:18px!important;padding:14px 40px!important;box-shadow:0 8px 24px #ff525266!important}.diploma-screen{min-height:100vh;min-height:100dvh;background:linear-gradient(135deg,#e8f5e9,#f3e5f5,#e3f2fd);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;position:relative;overflow:hidden}.diploma-confetti{position:fixed;top:0;left:0;right:0;height:100px;pointer-events:none;z-index:100}.confetti-piece{position:absolute;top:-20px;font-size:28px;animation:confettiFall 3s ease-in infinite}@keyframes confettiFall{0%{transform:translateY(-40px) rotate(0);opacity:1}80%{opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:0}}.diploma-card{background:#fff;border:6px solid;border-radius:28px;max-width:540px;width:100%;overflow:hidden;box-shadow:0 24px 80px #00000026;animation:popIn .6s ease;margin-bottom:24px}.diploma-header{padding:20px;text-align:center}.diploma-logo{font-size:40px;margin-bottom:4px}.diploma-university{color:#fff;font-size:14px;font-weight:800;letter-spacing:1px;opacity:.92}.diploma-body{padding:28px 36px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.diploma-text-intro{font-size:14px;color:#888;font-weight:600}.diploma-text-mid{font-size:14px;color:#666;font-weight:600}.diploma-text-small{font-size:12px;color:#999;font-weight:600}.diploma-name{font-size:34px;font-weight:900;letter-spacing:1px;line-height:1.2}.diploma-specialty{font-size:20px;font-weight:800;color:#333}.diploma-grade-box{border:3px solid;border-radius:20px;padding:16px 32px;margin:8px 0;display:flex;align-items:center;gap:16px}.diploma-grade-emoji{font-size:40px}.diploma-grade-number{font-size:64px;font-weight:900;line-height:1}.diploma-grade-label{font-size:16px;font-weight:800;color:#555}.diploma-score{font-size:18px;font-weight:800;color:#f57f17}.diploma-seal{border:3px solid;border-radius:50%;width:80px;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;font-weight:900;letter-spacing:.5px;margin-top:8px;opacity:.7;line-height:1.4}.diploma-seal-text{font-size:8px;letter-spacing:1px}.diploma-btn{font-size:18px!important;padding:14px 40px!important}@media(max-width:768px){.patient-room{overflow-y:auto}.room-content{grid-template-columns:1fr;max-height:none;overflow:visible}.clinic-room-panel{min-height:220px}.specialty-grid{grid-template-columns:repeat(2,1fr)}.quiz-options{grid-template-columns:1fr}.accessory-grid{grid-template-columns:repeat(4,1fr)}.runner-canvas{max-height:56dvh}.room-header{padding:10px 16px}.room-doc-name{font-size:16px}.room-score{font-size:20px}.mgp-bar{width:120px}}@media(max-width:460px){.creation-card,.clinic-card,.quiz-card{padding:22px 18px;border-radius:22px}.bamboo-text{font-size:20px}.minigame-header h1{font-size:24px}.runner-header h1,.quiz-header h1{font-size:22px}.option-btn{padding:12px 14px;font-size:13px}.ctrl-btn{padding:11px 20px;font-size:15px}.specialty-grid{grid-template-columns:1fr}.accessory-grid{grid-template-columns:repeat(4,1fr)}.minigame-screen,.runner-screen,.quiz-screen,.clinic-screen,.creation-screen{padding:14px}}@media(max-height:560px){.minigame-screen,.runner-screen{gap:8px;padding:10px}.minigame-header h1{font-size:20px}.minigame-header p,.runner-header p{font-size:12px}.runner-canvas{max-height:50dvh}}
