:root{--explorer-primary: #FF8C42;--explorer-secondary: #FFD166;--academy-primary: #6A4C93;--academy-secondary: #1982C4;--success: #8AC926;--danger: #FF595E;--background: #F7F3FF;--white: #FFFFFF;--text-dark: #2D2D2D;--text-medium: #555555;--shadow: 0 4px 16px rgba(0,0,0,.12);--shadow-hover: 0 8px 28px rgba(0,0,0,.18);--radius: 20px;--radius-lg: 32px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;background-color:var(--background);color:var(--text-dark);-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}button{cursor:pointer;border:none;outline:none;font-family:inherit;font-weight:700;border-radius:var(--radius);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}button:active{transform:scale(.96)}.btn-primary{background:linear-gradient(135deg,var(--explorer-primary),var(--explorer-secondary));color:#fff;padding:16px 32px;font-size:20px;box-shadow:var(--shadow)}.btn-primary:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.btn-academy{background:linear-gradient(135deg,var(--academy-primary),var(--academy-secondary));color:#fff;padding:16px 32px;font-size:20px;box-shadow:var(--shadow)}.btn-academy:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.btn-ghost{background:#ffffffb3;color:var(--text-dark);padding:12px 24px;font-size:16px;border:2px solid rgba(0,0,0,.1)}.btn-ghost:hover{background:#fff;box-shadow:var(--shadow)}.btn-success{background:linear-gradient(135deg,var(--success),#6DBF26);color:#fff;padding:16px 32px;font-size:18px;box-shadow:var(--shadow)}.btn-danger{background:linear-gradient(135deg,var(--danger),#E03030);color:#fff;padding:12px 24px;font-size:16px}.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.overlay-content{background:#fff;border-radius:var(--radius-lg);padding:32px;width:min(600px,95vw);max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease}.game-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--background);z-index:999;display:flex;flex-direction:column;animation:fadeIn .2s ease;overflow-y:auto}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes celebrate{0%{transform:scale(1) rotate(0)}25%{transform:scale(1.2) rotate(-5deg)}50%{transform:scale(1.3) rotate(5deg)}75%{transform:scale(1.2) rotate(-3deg)}to{transform:scale(1) rotate(0)}}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-8px)}30%{transform:translate(8px)}45%{transform:translate(-6px)}60%{transform:translate(6px)}75%{transform:translate(-4px)}90%{transform:translate(4px)}}@keyframes glow{0%,to{box-shadow:0 0 8px #8ac92680}50%{box-shadow:0 0 24px #8ac926e6,0 0 48px #8ac92680}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes sparkle{0%{transform:scale(0) rotate(0);opacity:1}to{transform:scale(1.5) rotate(180deg);opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.animate-bounce{animation:bounce 1.5s ease-in-out infinite}.animate-celebrate{animation:celebrate .6s ease-in-out}.animate-shake{animation:shake .5s ease-in-out}.animate-glow{animation:glow 1s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-fadeIn{animation:fadeIn .3s ease}.animate-slideUp{animation:slideUp .4s ease}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.text-center{text-align:center}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-8{gap:8px}.gap-16{gap:16px}.gap-24{gap:24px}.w-full{width:100%}.min-h-screen{min-height:100vh}@media (max-width: 600px){.overlay-content{padding:20px}}
