@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;800&family=Zilla+Slab:wght@700&display=swap";:root{--bg-app: #fefcf6;--bg-card: #ffffff;--color-primary: #6c5ce7;--color-primary-hover: #5b4cc4;--color-primary-light: #ece9ff;--color-secondary: #ff7675;--color-secondary-light: #ffeaea;--color-accent: #fdcb6e;--color-accent-light: #fef6e5;--color-green: #00b894;--color-green-light: #e6f8f4;--color-blue: #0984e3;--color-blue-light: #e6f3fc;--color-text: #2c3e50;--color-text-light: #7f8c8d;--font-main: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading: "Zilla Slab", Georgia, serif;--shadow-sm: 0 6px 12px rgba(44, 62, 80, .04);--shadow-md: 0 12px 24px rgba(108, 92, 231, .08);--shadow-lg: 0 20px 40px rgba(108, 92, 231, .15);--transition-normal: all .3s cubic-bezier(.175, .885, .32, 1.275);--transition-fast: all .15s ease}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-main);background-color:#f7f5ed;background-image:radial-gradient(#e5e2d9 1px,transparent 1px),radial-gradient(#e5e2d9 1px,#f7f5ed 1px);background-size:40px 40px;background-position:0 0,20px 20px;color:var(--color-text);min-height:100vh;display:flex;justify-content:center;align-items:center;overflow-x:hidden;padding:20px}.app-container{width:100%;max-width:900px;min-height:600px;background-color:var(--bg-app);border:12px solid #ffffff;border-radius:40px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;display:flex;flex-direction:column}.view{display:none;flex:1;padding:40px;flex-direction:column;justify-content:space-between;animation:fadeIn .4s ease-out forwards}.view.active{display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#welcome-view{align-items:center;justify-content:center;text-align:center;gap:30px;padding:50px 40px;position:relative}.welcome-logo{display:flex;flex-direction:column;align-items:center;gap:15px}.welcome-logo h1{font-family:var(--font-heading);font-size:3rem;color:var(--color-primary);line-height:1.2}.welcome-logo p{font-size:1.2rem;color:var(--color-text-light);max-width:480px}.mascot-container{position:relative;width:170px;height:170px;display:flex;align-items:center;justify-content:center;animation:float 4s ease-in-out infinite}.mascot-svg{width:100%;height:100%}@keyframes float{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(2deg)}to{transform:translateY(0) rotate(0)}}.btn-bubble{background-color:var(--color-accent);color:var(--color-text);border:none;font-family:var(--font-main);font-weight:800;font-size:1.5rem;padding:18px 50px;border-radius:30px;cursor:pointer;box-shadow:0 8px #e2ab39,var(--shadow-md);transition:var(--transition-fast);transform:translateY(0)}.btn-bubble:hover{transform:translateY(-2px);box-shadow:0 10px #e2ab39,var(--shadow-lg);background-color:#ffe082}.btn-bubble:active{transform:translateY(6px);box-shadow:0 2px #e2ab39,var(--shadow-sm)}#game-view{justify-content:flex-start;gap:20px}.game-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px}.progress-track{flex:1;height:24px;background-color:#eceff1;border-radius:12px;position:relative;overflow:hidden;border:3px solid #ffffff;box-shadow:inset 0 2px 5px #0000000d}.progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--color-primary-light),var(--color-primary));border-radius:9px;transition:width .4s cubic-bezier(.175,.885,.32,1.2)}.stars-counter{display:flex;align-items:center;gap:6px;font-weight:800;font-size:1.2rem;color:var(--color-accent);background-color:#2c3e50;padding:6px 14px;border-radius:20px;transition:transform .2s ease}.stars-counter.bounce-pop{animation:starsBounce .45s cubic-bezier(.175,.885,.32,1.25)}@keyframes starsBounce{0%{transform:scale(1)}50%{transform:scale(1.3) rotate(15deg);filter:brightness(1.25)}to{transform:scale(1)}}.question-container{display:flex;align-items:center;background-color:var(--color-primary-light);border-radius:var(--border-radius-lg);padding:20px 30px;gap:20px;position:relative;border:3px solid #ffffff;box-shadow:var(--shadow-sm)}.question-mascot{width:70px;height:70px;animation:bob 2s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.question-bubble{flex:1;display:flex;align-items:center;gap:15px}.btn-speaker{width:60px;height:60px;border-radius:50%;background-color:var(--color-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px #5b4cc4,var(--shadow-sm);transition:var(--transition-fast);position:relative}.btn-speaker svg{width:28px;height:28px;fill:currentColor}.btn-speaker:hover{transform:translateY(-2px);background-color:var(--color-primary-hover);box-shadow:0 6px #5b4cc4,var(--shadow-md)}.btn-speaker:active{transform:translateY(4px);box-shadow:0 0 #5b4cc4,var(--shadow-sm)}.question-text{font-family:var(--font-heading);font-size:1.8rem;color:var(--color-primary);font-weight:700}.options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:15px;flex:1;align-items:center}.option-card{background-color:var(--bg-card);border:4px solid #ffffff;border-radius:var(--border-radius-lg);padding:30px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;cursor:pointer;box-shadow:var(--shadow-md);transition:var(--transition-normal);aspect-ratio:1 / 1.1;position:relative;overflow:hidden}.option-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-light)}.option-card:active{transform:scale(.95)}.option-svg{width:80%;height:80%;max-height:140px;object-fit:contain;transition:var(--transition-normal)}.option-card:hover .option-svg{transform:scale(1.08)}.option-card.correct{border-color:var(--color-green);background-color:var(--color-green-light);animation:celebrate .5s ease-out;position:relative;overflow:hidden}.option-card.correct:after{content:"";position:absolute;top:0;left:-150%;width:100%;height:100%;background:linear-gradient(90deg,#fff0,#fff6,#fff0);transform:skew(-20deg);animation:shineSweep .6s ease-out}.option-card.wrong{border-color:var(--color-secondary);background-color:var(--color-secondary-light);animation:shake .5s ease-in-out}@keyframes celebrate{0%{transform:scale(1)}50%{transform:scale(1.1) rotate(5deg)}to{transform:scale(1)}}@keyframes shineSweep{0%{left:-150%}to{left:150%}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.confetti-particle{position:fixed;pointer-events:none;z-index:9999}.card-overlay{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;opacity:0;transform:scale(0);transition:var(--transition-normal)}.option-card.correct .card-overlay{opacity:1;transform:scale(1);background-color:var(--color-green)}.option-card.wrong .card-overlay{opacity:1;transform:scale(1);background-color:var(--color-secondary)}@media (max-width: 768px){body{padding:10px}.app-container{border-width:6px;border-radius:30px;min-height:500px}.view{padding:20px}#welcome-view{padding:40px 20px}.welcome-logo h1{font-size:2.2rem}.welcome-logo p{font-size:1rem}.question-container{padding:15px 20px;gap:15px}.question-mascot{width:50px;height:50px}.question-text{font-size:1.4rem}.btn-speaker{width:50px;height:50px}.options-grid{grid-template-columns:1fr;gap:15px;margin-top:10px}.option-card{flex-direction:row;aspect-ratio:auto;padding:15px 30px;justify-content:flex-start;gap:30px}.option-svg{width:60px;height:60px}}.toolbar{position:absolute;top:20px;right:20px;display:flex;gap:12px;z-index:10}.btn-tool{background-color:#fff;border:2px solid #eaedf0;color:var(--color-text);font-family:var(--font-main);font-weight:600;font-size:.9rem;padding:8px 16px;border-radius:12px;cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition-fast)}.btn-tool:hover{border-color:var(--color-primary-light);background-color:var(--color-primary-light);color:var(--color-primary);transform:translateY(-1px)}.btn-tool.muted{background-color:var(--color-secondary-light);color:var(--color-secondary);border-color:var(--color-secondary)}.btn-tool.secondary{border-color:var(--color-accent)}.btn-tool.secondary:hover{background-color:var(--color-accent-light);color:#d88900}.gate-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#2c3e5080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeInGate .3s ease-out forwards}.gate-overlay.fadeOut{animation:fadeOutGate .3s ease-in forwards}.gate-modal{background-color:#fff;border-radius:30px;border:8px solid var(--color-primary-light);width:90%;max-width:380px;padding:30px;box-shadow:0 20px 45px #2c3e5033;text-align:center;display:flex;flex-direction:column;gap:20px;animation:scaleUpGate .3s cubic-bezier(.175,.885,.32,1.275) forwards}.gate-header h3{font-family:var(--font-heading);font-size:1.4rem;color:var(--color-primary);margin-bottom:6px}.gate-header p{font-size:.9rem;color:var(--color-text-light)}.gate-equation{display:flex;align-items:center;justify-content:center;gap:15px;font-family:var(--font-heading);font-size:2.2rem;color:var(--color-text);background-color:#f7f9fa;padding:15px;border-radius:20px;border:2px dashed #e2e6e8}.gate-input-display{background-color:#fff;min-width:60px;height:50px;border-radius:12px;border:3px solid #dfe6e9;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--color-text-light);transition:var(--transition-fast)}.gate-input-display.active{border-color:var(--color-primary);color:var(--color-primary)}.gate-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.key-btn{background-color:#fff;border:2px solid #eaedf0;font-family:var(--font-main);font-weight:700;font-size:1.2rem;padding:12px;border-radius:12px;cursor:pointer;box-shadow:0 2px 4px #00000005;transition:var(--transition-fast)}.key-btn:hover{background-color:#f7f9fa;border-color:#ccd1d5}.key-btn:active{transform:scale(.95);background-color:#eaedf0}.key-btn.key-action{background-color:#f1f3f5;color:var(--color-text-light)}.key-btn.key-action:hover{background-color:#e2e6e9}.gate-actions{display:flex;gap:15px}.btn-gate-cancel,.btn-gate-submit{flex:1;font-family:var(--font-main);font-weight:700;font-size:1rem;padding:12px;border-radius:15px;cursor:pointer;border:none;transition:var(--transition-fast)}.btn-gate-cancel{background-color:#f1f3f5;color:var(--color-text-light)}.btn-gate-cancel:hover{background-color:#e2e6e9}.btn-gate-submit{background-color:var(--color-primary);color:#fff}.btn-gate-submit:hover{background-color:var(--color-primary-hover)}.error-shake{animation:shakeModal .5s ease-in-out}@keyframes shakeModal{0%,to{transform:translate(0)}20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}@keyframes fadeInGate{0%{opacity:0}to{opacity:1}}@keyframes fadeOutGate{0%{opacity:1}to{opacity:0}}@keyframes scaleUpGate{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}#report-view{align-items:stretch;gap:25px;max-height:85vh;overflow-y:auto;padding-right:10px}#report-view::-webkit-scrollbar{width:6px}#report-view::-webkit-scrollbar-track{background:transparent}#report-view::-webkit-scrollbar-thumb{background:#dfe6e9;border-radius:3px}.report-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.report-header h2{font-family:var(--font-heading);font-size:2.2rem;color:var(--color-primary)}.score-badge{background-color:var(--color-accent-light);border:3px dashed var(--color-accent);border-radius:24px;padding:20px 35px;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:360px;margin:0 auto}.score-main{font-size:1.1rem;font-weight:600;color:var(--color-text)}.score-badge strong{font-weight:800;font-size:2.2rem;color:#d88900;vertical-align:middle}.report-cambridge-badge{margin-top:12px;background:linear-gradient(135deg,#fff,#fbfcfe);border:2px solid;border-radius:20px;padding:16px 20px;display:none;width:100%;box-shadow:0 10px 25px #0000000d;animation:badgePopIn .6s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes badgePopIn{0%{transform:scale(.85) translateY(15px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.1)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.achievement-badge-svg{filter:drop-shadow(0 4px 10px rgba(0,0,0,.15));transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.achievement-badge-svg:hover{transform:rotate(6deg) scale(1.12)}.report-body{display:grid;grid-template-columns:1.2fr 1fr;gap:25px}.report-chart-card,.report-rec-card{background-color:#fff;border-radius:var(--border-radius-lg);padding:25px;box-shadow:var(--shadow-sm);border:1px solid #f1f3f5;opacity:0;transform:translateY(25px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}#report-view.active .report-chart-card,#report-view.active .report-rec-card{opacity:1;transform:translateY(0)}#report-view.active .report-body>:nth-child(1){transition-delay:.1s}#report-view.active .report-body>:nth-child(2){transition-delay:.25s}#report-view.active .report-body>:nth-child(3){transition-delay:.4s}.report-chart-card.full-width{grid-column:span 2}.report-chart-card h3,.report-rec-card h3{font-family:var(--font-heading);font-size:1.4rem;margin-bottom:20px;color:var(--color-text);border-bottom:3px solid var(--color-primary-light);padding-bottom:6px;display:inline-block}.skill-bars-list{display:flex;flex-direction:column;gap:16px}.skill-bar-item{display:flex;flex-direction:column;gap:6px}.skill-info{display:flex;justify-content:space-between;font-weight:600;font-size:.9rem}.skill-bar-track{height:14px;background-color:#f1f3f5;border-radius:8px;overflow:hidden}.skill-bar-fill{height:100%;border-radius:8px;width:0%;transition:width 1.2s cubic-bezier(.1,.8,.3,1)}.rec-list{display:flex;flex-direction:column;gap:15px}.rec-item{display:flex;gap:15px;align-items:flex-start}.rec-icon{background-color:var(--color-primary-light);color:var(--color-primary);width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700}.rec-content p{font-size:.9rem;line-height:1.4;color:var(--color-text)}.rec-content strong{color:var(--color-primary)}.chart-container-wrapper{padding:10px;min-height:160px;width:100%;position:relative}.report-actions{display:flex;justify-content:center;gap:20px;margin-top:10px}.btn-outline{background-color:#fff;border:3px solid #dfe6e9;color:var(--color-text-light);font-family:var(--font-main);font-weight:800;font-size:1.1rem;padding:12px 30px;border-radius:25px;cursor:pointer;transition:var(--transition-fast)}.btn-outline:hover{background-color:#f1f3f5;transform:translateY(-2px)}.btn-outline.primary{border-color:var(--color-primary);color:var(--color-primary)}.btn-outline.primary:hover{background-color:var(--color-primary-light)}.btn-outline:active{transform:translateY(2px)}@media (max-width: 768px){.report-body{grid-template-columns:1fr}.report-chart-card.full-width{grid-column:span 1}.toolbar{top:10px;right:10px}.btn-tool{padding:6px 12px;font-size:.8rem;border-radius:8px}}
