@import"https://fonts.googleapis.com/css2?family=Jua&family=Nunito:wght@400;700;900&display=swap";:root{--pokedex-red: #ff4757;--pokedex-dark: #ff1f35;--screen-bg: #f5f6fa;--text-dark: #2f3542;--text-light: #747d8c;--primary-blue: #1e90ff;--primary-yellow: #ffa502;--badge-bg: #ffffff;--shadow-sm: 0 4px 6px rgba(0, 0, 0, .05);--shadow-md: 0 10px 20px rgba(0, 0, 0, .08);--radius-lg: 32px;--radius-md: 20px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:Nunito,Malgun Gothic,sans-serif;background-color:#eccc68;color:var(--text-dark);min-height:100vh;display:flex;justify-content:center;align-items:center}#root{width:100%;max-width:100%;height:100vh;height:100dvh;background-color:var(--screen-bg);position:relative;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;box-shadow:var(--shadow-md);margin:0 auto}@media(min-width:768px){#root{max-width:600px;height:95vh;border-radius:var(--radius-lg);border:10px solid #2f3542;box-shadow:0 25px 50px -12px #00000040}}@media(min-width:1024px){#root{max-width:800px}}.app-header{background:var(--pokedex-red);color:#fff;padding:25px 20px 30px;border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);box-shadow:0 8px 15px #ff47574d;position:relative;z-index:10}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.app-title{font-family:Jua,sans-serif;font-size:2rem;letter-spacing:1px;margin:0}.user-profile{display:flex;align-items:center;gap:8px;background:#ffffff40;padding:8px 16px;border-radius:30px;font-weight:700;font-size:.95rem}.grade-badge{background:#ffa502;color:#fff;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:900;margin-left:5px}.main-content{flex:1;overflow-y:auto;padding:20px 20px 100px}.badge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media(min-width:480px){.badge-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.badge-card{background:var(--badge-bg);border-radius:var(--radius-md);padding:25px 10px 20px;display:flex;flex-direction:column;align-items:center;box-shadow:var(--shadow-sm);transition:all .4s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;border:3px solid transparent;position:relative;overflow:hidden;opacity:0;animation:slideUpFade .6s ease-out forwards}.badge-card:nth-child(1){animation-delay:.1s}.badge-card:nth-child(2){animation-delay:.2s}.badge-card:nth-child(3){animation-delay:.3s}.badge-card:nth-child(4){animation-delay:.4s}.badge-card:before{content:"";position:absolute;inset:0;box-shadow:inset 0 0 #fff6;transition:box-shadow .3s ease;border-radius:inherit;pointer-events:none}.badge-card:hover{transform:translateY(-8px) scale(1.03) rotate(1deg);box-shadow:0 15px 30px #0000001a}.badge-card:hover:before{box-shadow:inset 0 0 20px 10px #fff9}.badge-card:active{transform:scale(.95)}.badge-card.completed{border-color:#ffa502;background:#fffcf0;box-shadow:0 4px 15px #ffa50233}.badge-id{position:absolute;top:10px;left:10px;font-size:.8rem;font-weight:900;color:#747d8c;background:#f1f2f6;padding:4px 10px;border-radius:12px}.badge-image-container{width:90px;height:90px;margin-bottom:15px;display:flex;justify-content:center;align-items:center;position:relative}.badge-image{max-width:100%;max-height:100%;object-fit:contain;z-index:2}.mystery-fog{filter:blur(8px) saturate(.4) brightness(.9);opacity:.7;transform:scale(.92);transition:all .5s cubic-bezier(.4,0,.2,1)}.badge-card:hover .mystery-fog{filter:blur(4px) saturate(.6) brightness(1);transform:scale(1)}.badge-image-container:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,#fff6,#fff0 70%);border-radius:50%;z-index:5;pointer-events:none}.mystery-icon{position:absolute;font-family:Jua,sans-serif;font-size:2.8rem;z-index:10;background:linear-gradient(135deg,#f39c12,#f1c40f,#ffeaa7);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 12px rgba(241,196,15,.6)) drop-shadow(0 4px 6px rgba(0,0,0,.1));display:flex;align-items:center;justify-content:center;animation:pulse 2.5s infinite ease-in-out}.badge-title{font-family:Jua,sans-serif;font-size:1.15rem;text-align:center;color:var(--text-dark);line-height:1.3;word-break:keep-all;overflow-wrap:break-word;padding:0 10px;height:2.8em;display:flex!important;align-items:center;justify-content:center;margin-bottom:12px}.bottom-nav{position:absolute;bottom:0;left:0;right:0;background:#fff;display:flex;justify-content:space-around;padding:15px 10px 25px;box-shadow:0 -10px 20px #00000008;border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);z-index:20}.nav-item{display:flex;flex-direction:column;align-items:center;color:#ced6e0;text-decoration:none;font-weight:800;font-size:.9rem;gap:8px;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.nav-item.active{color:var(--pokedex-red);transform:translateY(-5px)}.nav-icon{width:45px;height:45px;background:#f1f2f6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.nav-item.active .nav-icon{background:#ffeaa7;color:#d35400;box-shadow:0 5px 15px #ffa5024d}.page-header{display:flex;align-items:center;padding:20px;background:#fff;position:sticky;top:0;z-index:30;box-shadow:0 4px 10px #00000008;border-bottom-left-radius:20px;border-bottom-right-radius:20px}.back-btn{background:#f1f2f6;border:none;width:40px;height:40px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:1.2rem;color:var(--text-dark);cursor:pointer;margin-right:15px;transition:background .2s}.back-btn:active{background:#dfe4ea}.edu-card{background:#fff;border-radius:var(--radius-md);padding:25px 20px;margin-bottom:20px;box-shadow:0 8px 16px #0000000a;border:2px solid #f1f2f6}.edu-card h3{font-family:Jua,sans-serif;display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:1.3rem}.mission-task{background:#fffcf0;border:3px solid #ffeaa7;border-radius:24px;padding:25px;margin-top:30px}.mission-task-header{font-family:Jua,sans-serif;color:#d35400;font-size:1.6rem;text-align:center;margin-bottom:20px}.form-group-list{display:flex;flex-direction:column;gap:12px;margin-top:15px}.kid-input-wrapper{display:flex;align-items:center;background:#fff;border:2px solid #ffeaa7;border-radius:16px;padding:5px 15px;transition:all .2s}.kid-input-wrapper:focus-within{border-color:#ff9f43;box-shadow:0 4px 12px #ff9f4333}.kid-input-number{font-family:Jua,sans-serif;color:#ff9f43;font-size:1.4rem;margin-right:15px;min-width:25px}.kid-input{flex:1;border:none;padding:15px 0;font-size:1.05rem;font-family:Nunito,sans-serif;outline:none;background:transparent}.btn-primary{width:100%;background:linear-gradient(to right,#ff9f43,coral);color:#fff;border:none;padding:18px;border-radius:30px;font-size:1.4rem;font-weight:900;font-family:Jua,sans-serif;cursor:pointer;box-shadow:0 6px #e15f41,0 10px 15px #ff7f5066;transition:all .1s;margin-top:25px}.btn-primary:active{transform:translateY(6px);box-shadow:0 0 #e15f41,0 4px 6px #ff7f5066}.minigame-container{background:#fff;border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm)}.minigame-chat-box{background:#f8f9fa;border:1px solid #dfe6e9;border-radius:12px;padding:15px;min-height:200px;margin-bottom:20px}.minigame-input-group{display:flex;gap:10px;align-items:center}.minigame-input{flex:1;padding:12px 15px;border:2px solid #dfe6e9;border-radius:20px;font-size:1rem}.minigame-btn{background:#fff;border:2px solid #2d3436;padding:10px 20px;border-radius:8px;font-weight:700;cursor:pointer}.minigame-guess-wrapper{margin-top:20px;border-top:2px solid #f1f2f6;padding-top:20px;display:flex;gap:10px}.minigame-guess-input{flex:1;padding:12px;border:2px solid #ffeaa7;border-radius:8px}.minigame-guess-btn{background:#0984e3;color:#fff;border:none;padding:12px 20px;font-weight:700;border-radius:4px}.success-overlay{position:fixed;inset:0;background:#fffffff2;z-index:100;display:flex;flex-direction:column;justify-content:center;align-items:center;animation:fadeIn .5s ease-out;padding:20px;text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.success-overlay p{font-size:1.2rem;font-weight:700;color:#2f3542;z-index:101;background:#ffffffe6;padding:15px 25px;border-radius:20px;box-shadow:0 10px 20px #0000000d}.page-enter{animation:slideInRight .4s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}
