.welcome{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.welcome-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,#6c63ff,#a855f7,#ec4899);z-index:0}.floaters{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.floater{position:absolute;bottom:-60px;animation:floatUp linear infinite;opacity:.75}@keyframes floatUp{0%{transform:translateY(0) rotate(0);opacity:.75}to{transform:translateY(-110vh) rotate(360deg);opacity:0}}.welcome-card{position:relative;z-index:2;text-align:center;padding:40px 32px;opacity:0;transform:scale(.75) translateY(40px);transition:all .65s cubic-bezier(.34,1.56,.64,1)}.welcome-card.show{opacity:1;transform:scale(1) translateY(0)}.wave-hand{font-size:72px;display:inline-block;animation:wave 1.2s ease-in-out infinite alternate;transform-origin:70% 70%}@keyframes wave{0%{transform:rotate(-20deg)}to{transform:rotate(22deg)}}.hello-text{font-size:80px;font-weight:900;color:#fff;line-height:1;margin:8px 0;text-shadow:0 6px 24px rgba(0,0,0,.25);animation:helloPulse 2.2s ease-in-out infinite}@keyframes helloPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.hello-sub{font-size:20px;color:#ffffffeb;font-weight:700;margin-bottom:24px}.hero-emoji{font-size:88px;display:inline-block;animation:heroBounce 1.1s ease-in-out infinite alternate}@keyframes heroBounce{0%{transform:translateY(0)}to{transform:translateY(-22px)}}.start-btn{margin-top:28px;display:block;width:100%;padding:18px 0;background:#fff;color:#6c63ff;font-size:22px;font-weight:900;border-radius:50px;box-shadow:0 10px 36px #00000038;transition:transform .18s ease,box-shadow .18s ease}.start-btn:active{transform:scale(.95);box-shadow:0 4px 16px #0003}.auth-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#fff1f9,#ede9fe 60%,#dbeafe);padding:20px}.auth-card{background:#fff;border-radius:28px;padding:40px 32px;max-width:360px;width:100%;text-align:center;box-shadow:0 12px 40px #0000001f}.auth-logo{font-size:64px;margin-bottom:10px;animation:auth-bounce 1.6s infinite}@keyframes auth-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.auth-title{font-size:30px;font-weight:900;color:#1e1b4b;margin:0 0 8px;font-family:Nunito,Segoe UI,sans-serif}.auth-sub{font-size:15px;color:#6b7280;margin:0 0 28px;font-weight:600}.auth-google-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 20px;border:2px solid #E5E7EB;border-radius:16px;background:#fff;font-size:16px;font-weight:700;color:#1f2937;cursor:pointer;transition:background .15s,box-shadow .15s,transform .15s;font-family:Nunito,Segoe UI,sans-serif;box-shadow:0 2px 8px #00000014}.auth-google-btn:hover:not(:disabled){background:#f9fafb;box-shadow:0 4px 16px #00000024;transform:translateY(-1px)}.auth-google-btn:disabled{opacity:.6;cursor:default}.auth-google-icon{width:22px;height:22px}.auth-note{margin-top:20px;font-size:13px;color:#9ca3af;font-weight:600}.auth-error{margin-top:12px;font-size:13px;color:#ef4444;font-weight:700}.auth-loading{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:linear-gradient(160deg,#fff1f9,#ede9fe 60%,#dbeafe);font-size:18px;font-weight:700;color:#6b7280}.auth-spinner{font-size:48px;animation:auth-spin 1.2s linear infinite}@keyframes auth-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (min-width: 600px){.auth-card{max-width:440px;padding:52px 44px;border-radius:36px}.auth-logo{font-size:80px}.auth-title{font-size:36px}.auth-sub{font-size:17px}.auth-google-btn{font-size:18px;padding:16px 24px;border-radius:20px}.auth-google-icon{width:26px;height:26px}}@media (min-width: 1024px){.auth-card{max-width:500px;padding:60px 56px}.auth-logo{font-size:96px}.auth-title{font-size:42px}}.av-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#fff9db,#dcfce7,#dbeafe);padding:16px;overflow-y:auto}.av-card{background:#fff;border-radius:28px;padding:28px 20px 24px;max-width:420px;width:100%;text-align:center;box-shadow:0 12px 40px #0000001f}.av-title{font-size:26px;font-weight:900;color:#1e1b4b;margin:0 0 6px;font-family:Nunito,Segoe UI,sans-serif}.av-sub{font-size:14px;color:#6b7280;margin:0 0 16px;font-weight:600}.av-preview{width:100px;height:100px;border-radius:50%;border:4px solid #7C3AED;background:#f3f4f6;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;overflow:hidden;box-shadow:0 4px 16px #7c3aed33}.av-preview-emoji{font-size:56px;line-height:1}.av-preview-img{width:100%;height:100%;object-fit:cover}.av-tabs{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}.av-tab{padding:6px 12px;border-radius:20px;border:2px solid #E5E7EB;background:#f9fafb;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;font-family:Nunito,Segoe UI,sans-serif}.av-tab-active{background:#7c3aed;border-color:#7c3aed;color:#fff}.av-emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:18px}.av-emoji-btn{font-size:30px;background:#f9fafb;border:2px solid transparent;border-radius:14px;padding:6px;cursor:pointer;transition:transform .12s,border-color .12s;line-height:1}.av-emoji-btn:hover{transform:scale(1.15)}.av-emoji-selected{border-color:#7c3aed;background:#ede9fe;transform:scale(1.12)}.av-photo-area{margin-bottom:18px}.av-upload-btn{padding:12px 24px;background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;border:none;border-radius:20px;font-size:15px;font-weight:700;cursor:pointer;transition:transform .15s;font-family:Nunito,Segoe UI,sans-serif}.av-upload-btn:hover{transform:scale(1.04)}.av-photo-ok{margin-top:8px;font-size:14px;color:#16a34a;font-weight:700}.av-save-btn{width:100%;padding:16px;background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;border:none;border-radius:20px;font-size:18px;font-weight:900;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 16px #f59e0b59;font-family:Nunito,Segoe UI,sans-serif}.av-save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #f59e0b73}.av-save-btn:disabled{opacity:.6;cursor:default}@media (min-width: 600px){.av-card{max-width:560px;padding:36px 32px 32px}.av-title{font-size:32px}.av-preview{width:120px;height:120px}.av-preview-emoji{font-size:68px}.av-emoji-grid{grid-template-columns:repeat(8,1fr);gap:10px}.av-emoji-btn{font-size:34px;padding:8px}.av-save-btn{font-size:20px;padding:18px}}@media (min-width: 1024px){.av-card{max-width:700px;padding:48px 44px 40px}.av-title{font-size:38px}.av-preview{width:140px;height:140px}.av-preview-emoji{font-size:80px}.av-emoji-grid{grid-template-columns:repeat(10,1fr);gap:12px}.av-emoji-btn{font-size:38px;padding:10px}}.main-menu{width:100%;height:100%;display:flex;flex-direction:column;background:#f8f9ff;overflow-y:auto}.menu-header{background:linear-gradient(135deg,#6c63ff,#a855f7);padding:48px 24px 32px;text-align:center;border-radius:0 0 36px 36px;box-shadow:0 8px 32px #6c63ff4d;position:relative}.menu-avatar-wrap{position:absolute;top:14px;right:16px;z-index:10}.menu-avatar{width:52px;height:52px;border-radius:50%;background:#ffffff40;border:3px solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;font-size:28px;cursor:pointer;overflow:hidden;box-shadow:0 3px 12px #0003;transition:transform .15s}.menu-avatar:hover{transform:scale(1.08)}.menu-avatar-img{width:100%;height:100%;object-fit:cover}.menu-avatar-popup{position:absolute;top:60px;right:0;background:#fff;border-radius:16px;padding:12px 16px;box-shadow:0 8px 28px #0000002e;display:flex;flex-direction:column;gap:10px;min-width:150px;text-align:center}.menu-avatar-name{font-size:14px;font-weight:700;color:#374151;white-space:nowrap}.menu-change-avatar-btn{padding:8px 14px;background:#6c63ff;color:#fff;border:none;border-radius:12px;font-size:13px;font-weight:800;cursor:pointer;width:100%;font-family:Nunito,Segoe UI,sans-serif;transition:background .15s}.menu-change-avatar-btn:hover{background:#5750d4}.menu-signout-btn{padding:8px 14px;background:#ef4444;color:#fff;border:none;border-radius:12px;font-size:13px;font-weight:800;cursor:pointer;width:100%;font-family:Nunito,Segoe UI,sans-serif;transition:background .15s}.menu-signout-btn:hover{background:#dc2626}.menu-title{font-size:38px;font-weight:900;color:#fff;line-height:1.15;text-shadow:0 3px 12px rgba(0,0,0,.2)}.stats-row{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap}.stat-chip{background:#ffffff38;color:#fff;font-size:14px;font-weight:700;padding:6px 16px;border-radius:50px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.collection-banner{display:flex;align-items:center;gap:12px;margin:14px 16px 0;padding:14px 18px;background:linear-gradient(135deg,#1a1a2e,#0f3460);border-radius:20px;box-shadow:0 5px 20px #0f34604d;cursor:pointer;transition:transform .15s ease;border:none;width:calc(100% - 32px);text-align:left}.collection-banner:active{transform:scale(.97)}.cb-eggs{font-size:26px;flex-shrink:0}.cb-text{flex:1;display:flex;flex-direction:column;gap:2px}.cb-text strong{font-size:15px;font-weight:900;color:#ffe66d;font-family:Nunito,sans-serif}.cb-text span{font-size:12px;color:#ffffffa6;font-family:Nunito,sans-serif;font-weight:600}.cb-arrow{font-size:26px;color:#ffe66d;font-weight:900;line-height:1}.menu-body{flex:1;padding:24px 20px}.section-label{font-size:20px;font-weight:800;color:#6c63ff;margin-bottom:16px;text-align:center}.games-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.game-card{background:#fff;border-radius:24px;padding:20px 14px;text-align:center;position:relative;box-shadow:0 4px 20px #6c63ff1a;transition:transform .18s ease,box-shadow .18s ease;cursor:pointer;overflow:hidden}.game-card.active{border:2.5px solid #6C63FF}.game-card.active:active{transform:scale(.95);box-shadow:0 2px 8px #6c63ff26}.game-card.locked{opacity:.55;cursor:not-allowed;border:2px dashed #ccc}.game-icon{font-size:48px;margin-bottom:10px}.game-title{font-size:17px;font-weight:800;color:#2d2d2d}.game-desc{font-size:12px;color:#999;margin-top:4px}.play-badge{margin-top:10px;display:inline-block;background:#6c63ff;color:#fff;font-size:13px;font-weight:800;padding:5px 16px;border-radius:50px}.lock-badge{margin-top:8px;font-size:20px}.menu-footer{text-align:center;padding:20px;font-size:15px;color:#aaa;font-weight:600}@media (min-width: 600px){.menu-header{padding:52px 32px 36px}.menu-title{font-size:46px}.stat-chip{font-size:16px;padding:8px 20px}.menu-avatar{width:62px;height:62px;font-size:34px}.menu-avatar-wrap{top:16px;right:24px}.collection-banner{margin:16px 24px 0;width:calc(100% - 48px);padding:18px 22px}.cb-eggs{font-size:32px}.cb-text strong{font-size:17px}.cb-text span{font-size:13px}.menu-body{padding:28px}.section-label{font-size:22px}.games-grid{grid-template-columns:1fr 1fr 1fr;gap:16px}.game-icon{font-size:52px}.game-title{font-size:18px}.game-desc{font-size:13px}}@media (min-width: 1024px){.menu-header{padding:56px 48px 40px;border-radius:0 0 48px 48px}.menu-title{font-size:56px}.stat-chip{font-size:17px;padding:9px 24px}.menu-avatar{width:70px;height:70px;font-size:38px}.menu-avatar-wrap{top:18px;right:32px}.menu-avatar-popup{min-width:180px}.collection-banner{margin:20px 40px 0;width:calc(100% - 80px);padding:20px 28px}.cb-eggs{font-size:36px}.cb-text strong{font-size:19px}.cb-text span{font-size:14px}.cb-arrow{font-size:30px}.menu-body{padding:32px 40px}.section-label{font-size:24px;margin-bottom:20px}.games-grid{grid-template-columns:1fr 1fr 1fr 1fr;gap:20px}.game-card{padding:24px 16px;border-radius:28px}.game-icon{font-size:56px;margin-bottom:12px}.game-title{font-size:19px}.game-desc{font-size:13px}.play-badge{font-size:14px;padding:6px 18px}.menu-footer{font-size:16px;padding:24px}}.train-wrap{width:100%;padding:0 8px}.train-scroll{display:flex;align-items:flex-end;gap:4px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.train-scroll::-webkit-scrollbar{display:none}.loco{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.smoke-stack{height:24px;display:flex;align-items:center;justify-content:center}.smoke{font-size:18px;animation:smokeFloat 1.4s ease-in-out infinite;display:inline-block}@keyframes smokeFloat{0%,to{transform:translateY(0);opacity:.9}50%{transform:translateY(-10px);opacity:.4}}.loco-body{font-size:52px;line-height:1}.carriage{flex-shrink:0;width:46px;border-radius:8px;overflow:hidden;box-shadow:0 3px 8px #0000001f;transition:background .3s ease}.carriage.dim{background:#e8e8e8;border:2px dashed #BDBDBD}.carriage.lit{border:none;box-shadow:0 5px 16px #00000038}.car-window{height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;background:#ffffff40;margin:5px 5px 3px;border-radius:5px}.car-chassis{display:flex;justify-content:space-around;padding:3px 5px 4px;background:#0000002e}.wheel{width:11px;height:11px;border-radius:50%;background:#2d2d2d;border:2px solid #555}.rails{margin-top:-2px}.rail{height:5px;background:linear-gradient(90deg,#777,#555);border-radius:3px}.ties{display:flex;gap:6px;margin-top:4px}.tie{flex:1;height:9px;background:#8b6914;border-radius:2px}.train-label{text-align:center;margin-top:8px;font-size:13px;font-weight:700;color:#888}@keyframes carriagePop{0%{transform:scale(.7) translateY(12px)}60%{transform:scale(1.18) translateY(-6px)}to{transform:scale(1) translateY(0)}}.ag-game{width:100%;height:100%;display:flex;flex-direction:column;background:#f8f9ff;overflow:hidden}.ag-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;background:linear-gradient(135deg,#6c63ff,#a855f7);color:#fff}.ag-back{background:#ffffff38;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px;transition:background .15s}.ag-back:active{background:#fff6}.ag-heading{font-size:18px;font-weight:900}.ag-score{font-size:16px;font-weight:800;background:#ffffff38;padding:6px 14px;border-radius:50px}.ag-animal-card{margin:18px 20px 0;background:#fff;border-radius:28px;box-shadow:0 6px 28px #6c63ff21;display:flex;flex-direction:column;align-items:center;padding:20px 16px 16px;transition:transform .15s}.ag-emoji{font-size:100px;line-height:1;-webkit-user-select:none;user-select:none}.ag-speak-btn{margin-top:10px;background:linear-gradient(135deg,#6c63ff,#a855f7);color:#fff;font-size:15px;font-weight:800;padding:8px 22px;border-radius:50px;box-shadow:0 4px 14px #6c63ff59;transition:transform .15s ease,box-shadow .15s ease}.ag-speak-btn:active{transform:scale(.93);box-shadow:0 2px 6px #6c63ff33}.ag-hint{margin-top:10px;background:#fff9c4;color:#7b6400;font-size:18px;font-weight:800;padding:7px 22px;border-radius:50px;animation:fadeIn .3s ease}.ag-animal-card.pop{animation:cardPop .45s ease}.ag-animal-card.shake{animation:cardShake .45s ease}@keyframes cardPop{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.ag-feedback{text-align:center;font-size:17px;font-weight:800;padding:6px 0;min-height:32px;transition:opacity .2s}.fb-correct{color:#2e7d32}.fb-wrong{color:#c62828}.ag-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 18px;margin-top:4px}.ag-opt{padding:18px 8px;border-radius:18px;font-size:19px;font-weight:900;box-shadow:0 5px 18px #00000021;transition:transform .12s ease,box-shadow .12s ease,opacity .2s;min-height:62px;letter-spacing:.3px}.ag-opt:disabled{opacity:.7;cursor:default}.ag-opt:not(:disabled):active{transform:scale(.93)}.ag-opt-correct{animation:optCorrect .5s ease forwards;outline:4px solid #2e7d32}.ag-opt-wrong{animation:optWrong .45s ease}@keyframes optCorrect{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes optWrong{0%,to{transform:translate(0)}25%,75%{transform:translate(-8px)}50%{transform:translate(8px)}}.ag-train-section{margin-top:auto;padding:8px 12px 16px;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #6c63ff17}.ag-train-title{text-align:center;font-size:14px;font-weight:800;color:#6c63ff;margin-bottom:6px}.ag-finished{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#6c63ff,#ec4899);text-align:center;padding:30px 24px;gap:10px}.ag-fireworks{font-size:26px;letter-spacing:2px;animation:pulse 1.5s ease infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.ag-fin-emoji{font-size:90px;animation:heroBounce 1s ease infinite alternate}@keyframes heroBounce{0%{transform:translateY(0)}to{transform:translateY(-18px)}}.ag-fin-title{font-size:56px;font-weight:900;color:#fff;text-shadow:0 4px 16px rgba(0,0,0,.2)}.ag-fin-sub{font-size:20px;color:#ffffffe6;font-weight:700}.ag-fin-train{font-size:30px;letter-spacing:-2px}.ag-fin-stars{background:#fff3;color:#fff;font-size:22px;font-weight:800;padding:10px 28px;border-radius:50px}.ag-fin-btns{display:flex;gap:14px;margin-top:6px}.ag-btn-restart,.ag-btn-menu{padding:14px 26px;border-radius:50px;font-size:17px;font-weight:900;box-shadow:0 6px 20px #0003;transition:transform .15s}.ag-btn-restart{background:#fff;color:#6c63ff}.ag-btn-menu{background:#ffffff38;color:#fff}.ag-btn-restart:active,.ag-btn-menu:active{transform:scale(.95)}.ag-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ag-spinner{font-size:60px;animation:spin 1s linear infinite}.cg-game{width:100%;height:100%;display:flex;flex-direction:column;background:#f8f9ff;overflow:hidden}.cg-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;background:linear-gradient(135deg,#ff6ec7,#ff8c42);color:#fff}.cg-back{background:#ffffff40;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px;transition:background .15s}.cg-score{font-size:16px;font-weight:800;background:#ffffff40;padding:6px 14px;border-radius:50px}.cg-card{margin:16px 20px 0;background:#fff;border-radius:28px;box-shadow:0 6px 28px #0000001a;display:flex;flex-direction:column;align-items:center;padding:20px 16px 14px}.cg-color-circle{width:150px;height:150px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:box-shadow .4s ease;position:relative}.cg-color-emoji{font-size:56px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.2))}.cg-speak-btn{margin-top:12px;background:linear-gradient(135deg,#ff6ec7,#ff8c42);color:#fff;font-size:15px;font-weight:800;padding:8px 22px;border-radius:50px;box-shadow:0 4px 14px #ff6ec759;transition:transform .15s ease}.cg-speak-btn:active{transform:scale(.93)}.cg-hint{margin-top:10px;background:#fff9c4;color:#7b6400;font-size:18px;font-weight:800;padding:7px 22px;border-radius:50px;animation:fadeIn .3s ease}.cg-card.pop{animation:cardPop .45s ease}.cg-card.shake{animation:cardShake .45s ease}@keyframes cardPop{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes cardShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}.cg-question{text-align:center;font-size:17px;font-weight:800;color:#888;margin:8px 0 2px}.cg-feedback{text-align:center;font-size:17px;font-weight:800;min-height:28px;padding:2px 0}.cg-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 18px;margin-top:4px}.cg-opt{padding:18px 8px;border-radius:18px;font-size:19px;font-weight:900;box-shadow:0 5px 18px #00000021;min-height:62px;transition:transform .12s ease}.cg-opt:disabled{opacity:.7;cursor:default}.cg-opt:not(:disabled):active{transform:scale(.93)}.cg-correct{animation:optOk .5s ease;outline:4px solid #2e7d32}.cg-wrong{animation:optNo .45s ease}@keyframes optOk{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes optNo{0%,to{transform:translate(0)}25%,75%{transform:translate(-8px)}50%{transform:translate(8px)}}.cg-train-section{margin-top:auto;padding:8px 12px 16px;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #ff6ec714}.cg-train-title{text-align:center;font-size:14px;font-weight:800;color:#ff6ec7;margin-bottom:6px}.cg-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.cg-spinner{font-size:60px;animation:spin 1s linear infinite}.fa-game{width:100%;height:100%;display:flex;flex-direction:column;background:#f8f9ff;overflow:hidden}.fa-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.fa-back{background:#ffffff40;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px}.fa-back:active{background:#ffffff73}.fa-heading{font-size:18px;font-weight:900}.fa-score{font-size:16px;font-weight:800;background:#ffffff40;padding:6px 14px;border-radius:50px}.fa-word-card{margin:14px 20px 0;background:#fff;border-radius:24px;box-shadow:0 6px 28px #11998e21;padding:16px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.fa-instruction{font-size:15px;font-weight:700;color:#888}.fa-word{font-size:46px;font-weight:900;background:linear-gradient(135deg,#11998e,#38ef7d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;letter-spacing:1px}.fa-speak-btn{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;font-size:15px;font-weight:800;padding:8px 22px;border-radius:50px;box-shadow:0 4px 14px #11998e4d;transition:transform .15s}.fa-speak-btn:active{transform:scale(.93)}.fa-feedback{text-align:center;font-size:16px;font-weight:800;min-height:28px;padding:4px 0}.fa-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 18px;margin-top:4px;flex:1}.fa-animal-btn{background:#fff;border-radius:24px;border:3px solid #E8E8E8;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 16px #00000014;cursor:pointer;position:relative;transition:transform .15s ease,border-color .2s ease,box-shadow .2s ease;padding:10px;min-height:110px}.fa-animal-btn:not(:disabled):active{transform:scale(.93)}.fa-animal-btn:disabled{cursor:default}.fa-animal-btn.fa-correct{border-color:#43a047;background:#f1f8e9;box-shadow:0 0 0 4px #43a04755,0 6px 20px #43a04740;animation:correctPop .5s ease}.fa-animal-btn.fa-wrong{border-color:#e53935;background:#fff3f3;animation:wrongShake .45s ease}@keyframes correctPop{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}.fa-emoji{font-size:64px;line-height:1;-webkit-user-select:none;user-select:none}.fa-tick,.fa-cross{position:absolute;top:6px;right:8px;font-size:22px}.fa-train-section{padding:8px 12px 16px;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #11998e14}.fa-train-title{text-align:center;font-size:14px;font-weight:800;color:#11998e;margin-bottom:6px}.fa-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.fa-spinner{font-size:60px;animation:spin 1s linear infinite}.ff-game{width:100%;height:100%;display:flex;flex-direction:column;background:#f8f9ff;overflow:hidden}.ff-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;background:linear-gradient(135deg,#f7971e,#ffd200);color:#fff}.ff-back{background:#ffffff47;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px}.ff-back:active{background:#ffffff80}.ff-heading{font-size:18px;font-weight:900;text-shadow:0 1px 3px rgba(0,0,0,.15)}.ff-score{font-size:16px;font-weight:800;background:#ffffff47;padding:6px 14px;border-radius:50px}.ff-word-card{margin:14px 20px 0;background:#fff;border-radius:24px;box-shadow:0 6px 28px #f7971e26;padding:16px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.ff-instruction{font-size:15px;font-weight:700;color:#888}.ff-word{font-size:44px;font-weight:900;background:linear-gradient(135deg,#f7971e,#ffd200);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1}.ff-speak-btn{background:linear-gradient(135deg,#f7971e,#ffd200);color:#fff;font-size:15px;font-weight:800;padding:8px 22px;border-radius:50px;box-shadow:0 4px 14px #f7971e59;transition:transform .15s}.ff-speak-btn:active{transform:scale(.93)}.ff-feedback{text-align:center;font-size:16px;font-weight:800;min-height:28px;padding:4px 0}.ff-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 18px;margin-top:4px;flex:1}.ff-food-btn{background:#fff;border-radius:24px;border:3px solid #F0E8D0;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 16px #f7971e1a;cursor:pointer;position:relative;transition:transform .15s ease,border-color .2s;padding:10px;min-height:110px}.ff-food-btn:not(:disabled):active{transform:scale(.92)}.ff-food-btn:disabled{cursor:default}.ff-food-btn.ff-correct{border-color:#43a047;background:#f1f8e9;box-shadow:0 0 0 4px #43a04755,0 6px 20px #43a04740;animation:ffPop .5s ease}.ff-food-btn.ff-wrong{border-color:#e53935;background:#fff3f3;animation:ffShake .45s ease}@keyframes ffPop{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes ffShake{0%,to{transform:translate(0)}25%,75%{transform:translate(-8px)}50%{transform:translate(8px)}}.ff-emoji{font-size:66px;line-height:1;-webkit-user-select:none;user-select:none}.ff-tick,.ff-cross{position:absolute;top:6px;right:8px;font-size:22px}.ff-train-section{padding:8px 12px 16px;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #f7971e1a}.ff-train-title{text-align:center;font-size:14px;font-weight:800;color:#f7971e;margin-bottom:6px}.ff-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ff-spinner{font-size:60px;animation:ffspin 1s linear infinite}@keyframes ffspin{to{transform:rotate(360deg)}}.fv-game{width:100%;height:100%;display:flex;flex-direction:column;background:#f0fff4;overflow:hidden}.fv-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;background:linear-gradient(135deg,#2193b0,#6dd5ed);color:#fff}.fv-back{background:#ffffff40;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px}.fv-back:active{background:#ffffff73}.fv-heading{font-size:18px;font-weight:900}.fv-score{font-size:16px;font-weight:800;background:#ffffff40;padding:6px 14px;border-radius:50px}.fv-word-card{margin:14px 20px 0;background:#fff;border-radius:24px;box-shadow:0 6px 28px #2193b026;padding:14px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.fv-instruction{font-size:14px;font-weight:700;color:#888}.fv-word{font-size:40px;font-weight:900;background:linear-gradient(135deg,#2193b0,#6dd5ed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1}.fv-speak-btn{background:linear-gradient(135deg,#2193b0,#6dd5ed);color:#fff;font-size:15px;font-weight:800;padding:8px 22px;border-radius:50px;box-shadow:0 4px 14px #2193b04d;transition:transform .15s}.fv-speak-btn:active{transform:scale(.93)}.fv-feedback{text-align:center;font-size:16px;font-weight:800;min-height:28px;padding:4px 0}.fv-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 18px;margin-top:4px;flex:1}.fv-btn{background:#fff;border-radius:22px;border:3px solid #b2ebf2;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 16px #2193b01a;cursor:pointer;position:relative;transition:transform .15s ease,border-color .2s;padding:8px;min-height:108px;gap:4px}.fv-btn:not(:disabled):active{transform:scale(.92)}.fv-btn.fv-correct{border-color:#43a047;background:#f1f8e9;box-shadow:0 0 0 4px #43a04755;animation:fvPop .5s ease}.fv-btn.fv-wrong{border-color:#e53935;background:#fff3f3;animation:fvShake .45s ease}@keyframes fvPop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes fvShake{0%,to{transform:translate(0)}25%,75%{transform:translate(-8px)}50%{transform:translate(8px)}}.fv-emoji{font-size:58px;line-height:1;-webkit-user-select:none;user-select:none}.fv-label{font-size:12px;font-weight:800;color:#555;text-align:center}.fv-tick,.fv-cross{position:absolute;top:6px;right:8px;font-size:20px}.fv-train-section{padding:8px 12px 16px;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #2193b01a}.fv-train-title{text-align:center;font-size:14px;font-weight:800;color:#2193b0;margin-bottom:6px}.fv-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.fv-spinner{font-size:60px;animation:fvspin 1s linear infinite}@keyframes fvspin{to{transform:rotate(360deg)}}.ic-game{width:100%;height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#fff0f6,#f8f9ff);overflow:hidden}.ic-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;background:linear-gradient(135deg,#f953c6,#b91d73);color:#fff}.ic-back{background:#ffffff40;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px}.ic-back:active{background:#ffffff73}.ic-heading{font-size:18px;font-weight:900}.ic-score{font-size:15px;font-weight:800;background:#ffffff40;padding:6px 14px;border-radius:50px}.ic-order-card{margin:12px 18px 0;background:#fff;border-radius:22px;box-shadow:0 5px 24px #f953c626;padding:12px 18px;text-align:center}.ic-order-label{font-size:13px;font-weight:700;color:#aaa;margin-bottom:4px}.ic-order-text{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.ic-qty{font-size:42px;font-weight:900;color:#333;line-height:1}.ic-color-name{font-size:30px;font-weight:900;line-height:1}.ic-scoops-word{font-size:22px;font-weight:800;color:#555}.ic-repeat-btn{margin-top:8px;background:linear-gradient(135deg,#f953c6,#b91d73);color:#fff;font-size:14px;font-weight:800;padding:7px 20px;border-radius:50px;box-shadow:0 3px 12px #f953c659;transition:transform .15s}.ic-repeat-btn:active{transform:scale(.93)}.ic-cup-area{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:6px 0 0;position:relative;height:140px;flex-shrink:0}.ic-success-anim{animation:successWobble .6s ease}@keyframes successWobble{0%,to{transform:scale(1)}40%{transform:scale(1.08)}70%{transform:scale(.96)}}.ic-scoops-stack{display:flex;flex-direction:column-reverse;align-items:center;gap:-8px;position:absolute;bottom:58px}.ic-scoop-ball{width:52px;height:46px;border-radius:50%/60% 60% 40% 40%;transition:all .3s ease;margin-bottom:-10px}.ic-scoop-empty{background:#e8e8e8;border:3px dashed #ccc;opacity:.6}.ic-scoop-filled{opacity:1}@keyframes scoopDrop{0%{transform:translateY(-30px) scale(.7);opacity:0}60%{transform:translateY(4px) scale(1.08)}to{transform:translateY(0) scale(1);opacity:1}}.ic-cup{font-size:52px;line-height:1;position:absolute;bottom:0}.ic-tada{font-size:36px;position:absolute;top:0;right:30%;animation:tada .5s ease infinite alternate}@keyframes tada{0%{transform:rotate(-15deg) scale(1)}to{transform:rotate(15deg) scale(1.2)}}.ic-progress-hint{text-align:center;font-size:15px;font-weight:800;color:#f953c6;padding:4px 0;min-height:26px}.ic-colors-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:6px 18px;flex:1}.ic-color-btn{border-radius:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s ease;min-height:60px;position:relative}.ic-color-btn:not(:disabled):active{transform:scale(.91)}.ic-color-btn:disabled{opacity:.65;cursor:default}.ic-btn-label{font-size:16px;font-weight:900;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.35);pointer-events:none}.ic-wrong-shake{animation:wrongShk .45s ease}@keyframes wrongShk{0%,to{transform:translate(0)}25%,75%{transform:translate(-9px)}50%{transform:translate(9px)}}.ic-train-section{padding:6px 12px 14px;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -4px 20px #f953c614}.ic-train-title{text-align:center;font-size:14px;font-weight:800;color:#f953c6;margin-bottom:5px}.ic-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ic-spinner{font-size:60px;animation:spin 1s linear infinite}.sw-game{width:100%;height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#1a1a2e,#16213e 60%,#0f3460);overflow:hidden}.sw-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff}.sw-back{background:#ffffff26;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px;border:1px solid rgba(255,255,255,.2)}.sw-back:active{background:#ffffff4d}.sw-heading{font-size:18px;font-weight:900;color:#ffe66d}.sw-score{font-size:15px;font-weight:800;background:#ffffff26;padding:6px 14px;border-radius:50px;color:#fff}.sw-spin-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:10px;position:relative}.sw-pointer{font-size:34px;color:#ffe66d;line-height:1;text-shadow:0 0 16px #FFE66D;z-index:5;position:relative;animation:pointerBob 1.2s ease-in-out infinite alternate}@keyframes pointerBob{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.sw-wheel-wrap{position:relative;filter:drop-shadow(0 12px 40px rgba(0,0,0,.5))}.wheel-svg{display:block}.sw-winner-banner{padding:12px 32px;border-radius:50px;font-size:22px;font-weight:900;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.3);box-shadow:0 6px 24px #0000004d;animation:bannerPop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes bannerPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.sw-spin-btn{padding:18px 52px;border-radius:50px;font-size:24px;font-weight:900;background:linear-gradient(135deg,#ffe66d,#ff9f43);color:#5d4037;box-shadow:0 8px 32px #ffe66466;transition:transform .15s ease;animation:spinBtnPulse 1.8s ease-in-out infinite}@keyframes spinBtnPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.sw-spin-btn:active{transform:scale(.93)!important}.sw-spinning-text{font-size:18px;font-weight:800;color:#ffffffb3;animation:fadeFlicker .8s ease-in-out infinite alternate}@keyframes fadeFlicker{0%{opacity:.5}to{opacity:1}}.sw-quiz-area{flex:1;display:flex;flex-direction:column;gap:6px;padding:10px 18px 0;overflow:hidden}.sw-cat-badge{align-self:center;padding:7px 24px;border-radius:50px;font-size:16px;font-weight:900;color:#fff;box-shadow:0 4px 16px #00000040}.sw-word-card{background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:22px;padding:12px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.sw-word-label{font-size:13px;font-weight:700;color:#fff9}.sw-word{font-size:36px;font-weight:900;color:#ffe66d;text-shadow:0 2px 12px rgba(255,230,100,.5)}.sw-speak-btn{background:#ffe66433;color:#ffe66d;font-size:14px;font-weight:800;padding:7px 20px;border-radius:50px;border:1px solid rgba(255,230,100,.4);transition:transform .15s}.sw-speak-btn:active{transform:scale(.93)}.sw-feedback{text-align:center;font-size:16px;font-weight:800;min-height:26px;color:#fff9}.fb-ok{color:#6bcb77}.fb-no{color:#ff6b6b}.sw-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex:1}.sw-item-btn{background:#ffffff1a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:2px solid rgba(255,255,255,.15);border-radius:22px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:transform .12s ease,border-color .2s}.sw-item-btn:not(:disabled):active{transform:scale(.92)}.sw-item-btn:disabled{cursor:default}.sw-item-btn.sw-correct{border-color:#6bcb77;background:#6bcb7733;box-shadow:0 0 0 3px #6bcb7766;animation:swPop .5s ease}.sw-item-btn.sw-wrong{border-color:#ff6b6b;background:#ff6b6b33;animation:swShake .45s ease}@keyframes swPop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes swShake{0%,to{transform:translate(0)}25%,75%{transform:translate(-8px)}50%{transform:translate(8px)}}.sw-item-emoji{font-size:58px;line-height:1;-webkit-user-select:none;user-select:none}.sw-tick,.sw-cross{position:absolute;top:6px;right:8px;font-size:20px}.sw-train-section{padding:6px 12px 14px;background:#0003;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.sw-train-title{text-align:center;font-size:13px;font-weight:800;color:#ffe66d;margin-bottom:5px}.ph-game{width:100%;height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#f3f0ff,#f8f9ff);overflow:hidden}.ph-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;background:linear-gradient(135deg,#6c63ff,#a855f7);color:#fff}.ph-back{background:#ffffff38;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px}.ph-back:active{background:#fff6}.ph-heading{font-size:18px;font-weight:900}.ph-score{font-size:15px;font-weight:800;background:#ffffff38;padding:6px 14px;border-radius:50px}.ph-letter-card{margin:12px 18px 0;background:#fff;border-radius:24px;box-shadow:0 6px 24px #6c63ff1f;padding:12px 16px 14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.ph-instruction{font-size:14px;font-weight:700;color:#aaa}.ph-letter-circle{width:96px;height:96px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;color:#fff;animation:letterPop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes letterPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.ph-letter-big{font-size:44px;font-weight:900;line-height:1;text-shadow:0 3px 8px rgba(0,0,0,.2)}.ph-letter-small{font-size:22px;font-weight:800;line-height:1;opacity:.85}.ph-speak-btn{color:#fff;font-size:15px;font-weight:800;padding:8px 22px;border-radius:50px;box-shadow:0 4px 14px #0003;transition:transform .15s;border:none;cursor:pointer}.ph-speak-btn:active{transform:scale(.93)}.ph-reveal{font-size:17px;font-weight:800;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ph-feedback{text-align:center;font-size:14px;font-weight:800;min-height:24px;padding:2px 16px;color:#c62828}.ph-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:4px 18px;flex:1}.ph-btn{background:#fff;border-radius:22px;border:3px solid #E8E8E8;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 14px #6c63ff14;cursor:pointer;position:relative;gap:4px;transition:transform .12s ease,border-color .2s;padding:8px;min-height:100px}.ph-btn:not(:disabled):active{transform:scale(.92)}.ph-btn:disabled{cursor:default}.ph-btn.ph-correct{background:#f3f0ff;animation:phPop .5s ease}.ph-btn.ph-wrong{border-color:#e53935!important;background:#fff3f3;animation:phShake .45s ease}@keyframes phPop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes phShake{0%,to{transform:translate(0)}25%,75%{transform:translate(-8px)}50%{transform:translate(8px)}}.ph-emoji{font-size:56px;line-height:1;-webkit-user-select:none;user-select:none}.ph-first-letter{font-size:13px;font-weight:900;background:#e8e8e8;color:#555;padding:2px 10px;border-radius:50px;transition:background .3s,color .3s}.ph-btn.ph-correct .ph-first-letter{color:#fff}.ph-tick,.ph-cross{position:absolute;top:6px;right:8px;font-size:20px}.ph-train-section{padding:6px 12px 14px;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -4px 20px #6c63ff14}.ph-train-title{text-align:center;font-size:14px;font-weight:800;color:#6c63ff;margin-bottom:5px}.ph-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ph-spinner{font-size:60px;animation:phspin 1s linear infinite}@keyframes phspin{to{transform:rotate(360deg)}}.ng-game{width:100%;height:100%;display:flex;flex-direction:column;background:#f0f8ff;overflow:hidden}.ng-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;background:linear-gradient(135deg,#fc5c7d,#6a82fb);color:#fff}.ng-back{background:#ffffff40;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px}.ng-back:active{background:#ffffff73}.ng-heading{font-size:18px;font-weight:900}.ng-score{font-size:15px;font-weight:800;background:#ffffff40;padding:6px 14px;border-radius:50px}.ng-card{margin:14px 20px 0;background:#fff;border-radius:26px;box-shadow:0 6px 28px #6a82fb26;padding:16px 20px 14px;display:flex;flex-direction:column;align-items:center;gap:10px}.ng-instruction{font-size:15px;font-weight:700;color:#9b9bc8;letter-spacing:.5px}.ng-big-word{font-size:58px;font-weight:900;line-height:1;background:linear-gradient(135deg,#fc5c7d,#6a82fb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-1px}.ng-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;max-width:90px;margin-top:4px}.ng-dot{width:9px;height:9px;border-radius:50%;background:#ffffffbf;box-shadow:0 1px 3px #0003}.ng-opt-digit{font-size:36px;font-weight:900;line-height:1;display:block}.ng-speak-btn{background:linear-gradient(135deg,#fc5c7d,#6a82fb);color:#fff;font-size:15px;font-weight:800;padding:8px 22px;border-radius:50px;box-shadow:0 4px 14px #6a82fb59;transition:transform .15s}.ng-speak-btn:active{transform:scale(.93)}.ng-card.pop{animation:ngPop .45s ease}.ng-card.shake{animation:ngShake .45s ease}@keyframes ngPop{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes ngShake{0%,to{transform:translate(0)}25%,75%{transform:translate(-10px)}50%{transform:translate(10px)}}.ng-feedback{text-align:center;font-size:16px;font-weight:800;min-height:28px;padding:4px 0}.ng-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 18px;margin-top:2px}.ng-opt{padding:10px 8px 12px;border-radius:18px;font-size:20px;font-weight:900;box-shadow:0 5px 18px #0000001f;min-height:72px;transition:transform .12s;display:flex;flex-direction:column;align-items:center;justify-content:center}.ng-opt:not(:disabled):active{transform:scale(.93)}.ng-opt:disabled{opacity:.7;cursor:default}.ng-correct{animation:ngOptOk .5s ease;outline:4px solid #2e7d32}.ng-wrong{animation:ngOptNo .45s ease}@keyframes ngOptOk{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes ngOptNo{0%,to{transform:translate(0)}25%,75%{transform:translate(-8px)}50%{transform:translate(8px)}}.ng-train-section{margin-top:auto;padding:8px 12px 16px;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #6a82fb14}.ng-train-title{text-align:center;font-size:14px;font-weight:800;color:#6a82fb;margin-bottom:6px}.ng-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ng-spinner{font-size:60px;animation:ngspin 1s linear infinite}@keyframes ngspin{to{transform:rotate(360deg)}}.cl-game{width:100%;height:100%;display:flex;flex-direction:column;background:#fff5f9;overflow:hidden}.cl-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;background:linear-gradient(135deg,#e91e8c,#ff6ec7);color:#fff}.cl-back{background:#ffffff40;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px}.cl-back:active{background:#ffffff73}.cl-heading{font-size:18px;font-weight:900}.cl-score{font-size:15px;font-weight:800;background:#ffffff40;padding:6px 14px;border-radius:50px}.cl-word-card{margin:14px 20px 0;background:#fff;border-radius:24px;box-shadow:0 6px 28px #e91e8c21;padding:14px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.cl-instruction{font-size:14px;font-weight:700;color:#bbb}.cl-word{font-size:40px;font-weight:900;background:linear-gradient(135deg,#e91e8c,#ff6ec7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cl-speak-btn{background:linear-gradient(135deg,#e91e8c,#ff6ec7);color:#fff;font-size:15px;font-weight:800;padding:8px 22px;border-radius:50px;box-shadow:0 4px 14px #e91e8c4d;transition:transform .15s}.cl-speak-btn:active{transform:scale(.93)}.cl-feedback{text-align:center;font-size:16px;font-weight:800;min-height:28px;padding:4px 0}.cl-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 18px;margin-top:4px;flex:1}.cl-btn{background:#fff;border-radius:22px;border:3px solid #FFCCE5;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 16px #e91e8c14;cursor:pointer;position:relative;transition:transform .15s;padding:8px;min-height:106px;gap:4px}.cl-btn:not(:disabled):active{transform:scale(.92)}.cl-btn:disabled{cursor:default}.cl-btn.cl-correct{border-color:#43a047;background:#f1f8e9;box-shadow:0 0 0 4px #43a04755;animation:clPop .5s ease}.cl-btn.cl-wrong{border-color:#e53935;background:#fff3f3;animation:clShake .45s ease}@keyframes clPop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes clShake{0%,to{transform:translate(0)}25%,75%{transform:translate(-8px)}50%{transform:translate(8px)}}.cl-emoji{font-size:60px;line-height:1;-webkit-user-select:none;user-select:none}.cl-label{font-size:12px;font-weight:800;color:#555;text-align:center}.cl-tick,.cl-cross{position:absolute;top:6px;right:8px;font-size:20px}.cl-train-section{padding:8px 12px 16px;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #e91e8c14}.cl-train-title{text-align:center;font-size:14px;font-weight:800;color:#e91e8c;margin-bottom:6px}.cl-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.cl-spinner{font-size:60px;animation:clspin 1s linear infinite}@keyframes clspin{to{transform:rotate(360deg)}}.kt-game{width:100%;height:100%;display:flex;flex-direction:column;background:#fff8f0;overflow:hidden}.kt-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;background:linear-gradient(135deg,#ff6b35,#f7c59f);color:#fff}.kt-back{background:#ffffff40;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px}.kt-back:active{background:#ffffff73}.kt-heading{font-size:18px;font-weight:900}.kt-score{font-size:15px;font-weight:800;background:#ffffff40;padding:6px 14px;border-radius:50px}.kt-word-card{margin:14px 20px 0;background:#fff;border-radius:24px;box-shadow:0 6px 28px #ff6b3521;padding:14px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.kt-instruction{font-size:14px;font-weight:700;color:#bbb}.kt-word{font-size:40px;font-weight:900;background:linear-gradient(135deg,#ff6b35,#f7931e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.kt-speak-btn{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;font-size:15px;font-weight:800;padding:8px 22px;border-radius:50px;box-shadow:0 4px 14px #ff6b354d;transition:transform .15s}.kt-speak-btn:active{transform:scale(.93)}.kt-feedback{text-align:center;font-size:16px;font-weight:800;min-height:28px;padding:4px 0}.kt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 18px;margin-top:4px;flex:1}.kt-btn{background:#fff;border-radius:22px;border:3px solid #FFD5B8;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 16px #ff6b3514;cursor:pointer;position:relative;transition:transform .15s;padding:8px;min-height:106px;gap:4px}.kt-btn:not(:disabled):active{transform:scale(.92)}.kt-btn:disabled{cursor:default}.kt-btn.kt-correct{border-color:#43a047;background:#f1f8e9;box-shadow:0 0 0 4px #43a04755;animation:ktPop .5s ease}.kt-btn.kt-wrong{border-color:#e53935;background:#fff3f3;animation:ktShake .45s ease}@keyframes ktPop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes ktShake{0%,to{transform:translate(0)}25%,75%{transform:translate(-8px)}50%{transform:translate(8px)}}.kt-emoji{font-size:60px;line-height:1;-webkit-user-select:none;user-select:none}.kt-label{font-size:12px;font-weight:800;color:#555;text-align:center}.kt-tick,.kt-cross{position:absolute;top:6px;right:8px;font-size:20px}.kt-train-section{padding:8px 12px 16px;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #ff6b3514}.kt-train-title{text-align:center;font-size:14px;font-weight:800;color:#ff6b35;margin-bottom:6px}.kt-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.kt-spinner{font-size:60px;animation:ktspin 1s linear infinite}@keyframes ktspin{to{transform:rotate(360deg)}}.fu-game{width:100%;height:100%;display:flex;flex-direction:column;background:#f5f0ff;overflow:hidden}.fu-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff}.fu-back{background:#ffffff40;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px}.fu-back:active{background:#ffffff73}.fu-heading{font-size:18px;font-weight:900}.fu-score{font-size:15px;font-weight:800;background:#ffffff40;padding:6px 14px;border-radius:50px}.fu-word-card{margin:14px 20px 0;background:#fff;border-radius:24px;box-shadow:0 6px 28px #7c3aed21;padding:14px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.fu-instruction{font-size:14px;font-weight:700;color:#bbb}.fu-word{font-size:40px;font-weight:900;background:linear-gradient(135deg,#7c3aed,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.fu-speak-btn{background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;font-size:15px;font-weight:800;padding:8px 22px;border-radius:50px;box-shadow:0 4px 14px #7c3aed4d;transition:transform .15s}.fu-speak-btn:active{transform:scale(.93)}.fu-feedback{text-align:center;font-size:16px;font-weight:800;min-height:28px;padding:4px 0}.fb-ok{color:#2e7d32}.fu-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 18px;margin-top:4px;flex:1}.fu-btn{background:#fff;border-radius:22px;border:3px solid #DDD6FE;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 16px #7c3aed14;cursor:pointer;position:relative;transition:transform .15s;padding:8px;min-height:106px;gap:4px}.fu-btn:not(:disabled):active{transform:scale(.92)}.fu-btn:disabled{cursor:default}.fu-btn.fu-correct{border-color:#43a047;background:#f1f8e9;box-shadow:0 0 0 4px #43a04755;animation:fuPop .5s ease}.fu-btn.fu-wrong{border-color:#e53935;background:#fff3f3;animation:fuShake .45s ease}@keyframes fuPop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes fuShake{0%,to{transform:translate(0)}25%,75%{transform:translate(-8px)}50%{transform:translate(8px)}}.fu-emoji{font-size:60px;line-height:1;-webkit-user-select:none;user-select:none}.fu-label{font-size:12px;font-weight:800;color:#555;text-align:center}.fu-tick,.fu-cross{position:absolute;top:6px;right:8px;font-size:20px}.fu-train-section{padding:8px 12px 16px;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #7c3aed14}.fu-train-title{text-align:center;font-size:14px;font-weight:800;color:#7c3aed;margin-bottom:6px}.fu-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.fu-spinner{font-size:60px;animation:fuspin 1s linear infinite}@keyframes fuspin{to{transform:rotate(360deg)}}.mg-game{width:100%;height:100%;display:flex;flex-direction:column;background:#eef2ff;overflow:hidden}.mg-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;background:linear-gradient(135deg,#4f46e5,#818cf8);color:#fff;flex-shrink:0}.mg-back{background:#ffffff40;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px}.mg-back:active{background:#ffffff73}.mg-heading{font-size:18px;font-weight:900}.mg-moves{font-size:15px;font-weight:800;background:#ffffff40;padding:6px 14px;border-radius:50px}.mg-select{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px 20px}.mg-select-title{font-size:26px;font-weight:900;color:#4f46e5;margin-bottom:8px}.mg-level-btn{width:100%;max-width:320px;border-radius:20px;color:#fff;padding:16px 22px;display:flex;align-items:center;gap:14px;box-shadow:0 6px 22px #0000002e;transition:transform .15s}.mg-level-btn:active{transform:scale(.96)}.mg-level-icon{font-size:36px}.mg-level-info{flex:1;display:flex;flex-direction:column;align-items:flex-start}.mg-level-name{font-size:22px;font-weight:900}.mg-level-sub{font-size:13px;opacity:.88}.mg-level-stars{font-size:18px}.mg-info-bar{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#fff;box-shadow:0 2px 8px #0000000f;flex-shrink:0}.mg-badge{color:#fff;font-size:13px;font-weight:800;padding:4px 12px;border-radius:50px}.mg-pairs-txt{flex:1;text-align:center;font-size:14px;font-weight:800;color:#4f46e5}.mg-levels-btn{background:#eef2ff;color:#4f46e5;font-size:13px;font-weight:800;padding:5px 12px;border-radius:50px}.mg-levels-btn:active{background:#c7d2fe}.mg-grid{flex:1;min-height:0;display:grid;gap:8px;padding:10px 16px}.mg-card{perspective:700px;cursor:pointer}.mg-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .38s ease;border-radius:14px}.mg-card.mg-flipped .mg-card-inner{transform:rotateY(180deg)}.mg-card-back,.mg-card-front{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:clamp(42px,11vw,72px);backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 3px 10px #0000001f}.mg-card-back{background:linear-gradient(135deg,#4f46e5,#818cf8)}.mg-card-front{background:#fff;border:3px solid #E0E7FF;transform:rotateY(180deg)}.mg-card.mg-matched .mg-card-front{background:#f0fdf4;border-color:#4ade80;animation:mgMatchPop .5s ease}@keyframes mgMatchPop{0%{transform:rotateY(180deg) scale(1)}50%{transform:rotateY(180deg) scale(1.15)}to{transform:rotateY(180deg) scale(1)}}.mg-bottom{padding:8px 18px 18px;background:#fff;flex-shrink:0;border-radius:24px 24px 0 0;box-shadow:0 -4px 16px #4f46e514}.mg-bar-wrap{height:10px;background:#e0e7ff;border-radius:10px;overflow:hidden}.mg-bar-fill{height:100%;border-radius:10px;transition:width .4s ease}.mg-bar-label{text-align:center;font-size:13px;font-weight:800;color:#818cf8;margin-top:5px}.mth-game{width:100%;height:100%;display:flex;flex-direction:column;background:#f0fff4;overflow:hidden}.mth-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;background:linear-gradient(135deg,#059669,#34d399);color:#fff;flex-shrink:0}.mth-back{background:#ffffff40;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px}.mth-back:active{background:#ffffff73}.mth-heading{font-size:18px;font-weight:900}.mth-score{font-size:15px;font-weight:800;background:#ffffff40;padding:6px 14px;border-radius:50px}.mth-card{margin:12px 20px 0;background:#fff;border-radius:26px;box-shadow:0 6px 28px #05966924;padding:16px 12px 14px;display:flex;flex-direction:column;align-items:center;gap:10px}.mth-row{display:flex;align-items:center;justify-content:center;gap:6px;width:100%}.mth-group-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;min-width:0}.mth-count-label{font-size:17px;font-weight:900;color:#6b7280}.mth-emoji-group{display:flex;flex-wrap:wrap;justify-content:center;gap:1px;max-width:145px}.mth-emoji{font-size:26px;line-height:1.25;-webkit-user-select:none;user-select:none}.mth-operator{font-size:42px;font-weight:900;line-height:1;flex-shrink:0}.op-add{color:#059669}.op-sub{color:#dc2626}.mth-equals{font-size:32px;font-weight:900;color:#6b7280;flex-shrink:0}.mth-question{font-size:44px;font-weight:900;flex-shrink:0;line-height:1;color:#059669}.mth-speak-btn{background:linear-gradient(135deg,#059669,#34d399);color:#fff;font-size:14px;font-weight:800;padding:7px 20px;border-radius:50px;box-shadow:0 4px 12px #0596694d;transition:transform .15s;margin-top:2px}.mth-speak-btn:active{transform:scale(.93)}.mth-feedback{text-align:center;font-size:16px;font-weight:800;min-height:28px;padding:4px 0}.fb-ok{color:#065f46}.fb-no{color:#c62828}.mth-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 18px;margin-top:2px}.mth-opt{padding:18px 4px;border-radius:18px;font-size:34px;font-weight:900;box-shadow:0 5px 18px #00000021;min-height:76px;transition:transform .12s}.mth-opt:not(:disabled):active{transform:scale(.9)}.mth-opt:disabled{opacity:.75;cursor:default}.mth-correct{outline:4px solid #065f46;animation:mthOk .5s ease}.mth-wrong{animation:mthNo .45s ease}@keyframes mthOk{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes mthNo{0%,to{transform:translate(0)}25%,75%{transform:translate(-8px)}50%{transform:translate(8px)}}.mth-train-section{margin-top:auto;padding:8px 12px 16px;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #05966914}.mth-train-title{text-align:center;font-size:14px;font-weight:800;color:#059669;margin-bottom:6px}.mth-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.mth-spinner{font-size:60px;animation:mthspin 1s linear infinite}@keyframes mthspin{to{transform:rotate(360deg)}}.sg-game{width:100%;height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#eef2ff,#f5f3ff);overflow:hidden;-webkit-user-select:none;user-select:none}.sg-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;background:linear-gradient(135deg,#4f46e5,#818cf8);color:#fff;flex-shrink:0}.sg-back{background:#ffffff40;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px}.sg-back:active{background:#ffffff73}.sg-heading{font-size:18px;font-weight:900}.sg-score{font-size:15px;font-weight:800;background:#ffffff40;padding:6px 14px;border-radius:50px}.sg-robot-section{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 20px 8px;flex-shrink:0}.sg-robot{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:22px;padding:12px 20px 16px;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 8px 28px #4f46e559;position:relative;transition:transform .15s}.robot-happy{animation:robotHappy .7s ease}.robot-oops{animation:robotOops .5s ease}@keyframes robotHappy{0%{transform:scale(1)}30%{transform:scale(1.08) rotate(-4deg)}60%{transform:scale(1.1) rotate(4deg)}to{transform:scale(1)}}@keyframes robotOops{0%,to{transform:translate(0)}25%,75%{transform:translate(-10px)}50%{transform:translate(10px)}}.sg-antenna{position:absolute;top:-18px;left:50%;transform:translate(-50%);width:4px;height:18px;background:#a5b4fc;border-radius:2px}.sg-antenna-ball{position:absolute;top:-8px;left:50%;transform:translate(-50%);width:14px;height:14px;border-radius:50%;background:#ffd93d;box-shadow:0 0 8px #ffd93dcc;animation:antennaBlink 1.4s ease-in-out infinite}@keyframes antennaBlink{0%,to{opacity:1;transform:translate(-50%) scale(1)}50%{opacity:.5;transform:translate(-50%) scale(.8)}}.sg-eyes{display:flex;gap:18px}.sg-eye{width:22px;height:22px;border-radius:50%;background:#fff;position:relative;overflow:hidden}.sg-eye:after{content:"";position:absolute;top:5px;left:5px;width:11px;height:11px;border-radius:50%;background:#1e1b4b;transition:transform .3s}.sg-eye.eye-happy:after{transform:scaleY(.4) translateY(4px)}.sg-mouth{width:170px;height:58px;background:#ffffff1f;border:3px dashed rgba(255,255,255,.55);border-radius:14px;display:flex;align-items:center;justify-content:center;transition:all .25s}.sg-mouth.mouth-ok{background:#4ade8040;border-color:#4ade80;border-style:solid;animation:mouthPop .4s ease}.sg-mouth.mouth-no{background:#f8717133;border-color:#f87171;border-style:solid;animation:mouthShake .4s ease}@keyframes mouthPop{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes mouthShake{0%,to{transform:translate(0)}25%,75%{transform:translate(-6px)}50%{transform:translate(6px)}}.sg-mouth-txt{color:#ffffffd9;font-size:13px;font-weight:800;text-align:center}.sg-question{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;color:#3730a3}.sg-speak-btn{background:linear-gradient(135deg,#4f46e5,#818cf8);color:#fff;font-size:18px;padding:6px 14px;border-radius:50px;box-shadow:0 3px 10px #4f46e559;transition:transform .15s}.sg-speak-btn:active{transform:scale(.9)}.sg-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 18px;flex:1}.sg-shape{background:#fff;border-radius:22px;border:3px solid #E0E7FF;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:grab;padding:10px;box-shadow:0 4px 16px #4f46e517;transition:transform .15s,box-shadow .15s;touch-action:none}.sg-shape:active{cursor:grabbing}.sg-shape.sg-src{opacity:.35;transform:scale(.96)}.sg-shape.sg-wrong-shake{animation:wrongShake .45s ease}@keyframes wrongShake{0%,to{transform:translate(0)}25%,75%{transform:translate(-8px)}50%{transform:translate(8px)}}.sg-shape-label{font-size:13px;font-weight:800;color:#4f46e5;text-align:center}.sg-float{position:fixed;pointer-events:none;z-index:9999;transform:scale(1.18) rotate(-4deg);filter:drop-shadow(0 10px 20px rgba(0,0,0,.3));transition:none}.sg-train-section{padding:6px 12px 14px;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 18px #4f46e514;flex-shrink:0}.sg-train-title{text-align:center;font-size:14px;font-weight:800;color:#4f46e5;margin-bottom:5px}.sg-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.sg-spinner{font-size:60px;animation:sgspin 1s linear infinite}@keyframes sgspin{to{transform:rotate(360deg)}}.cg-screen{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none}.cg-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;color:#fff;flex-shrink:0}.cg-back{background:#ffffff40;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px}.cg-back:active{background:#ffffff73}.cg-heading{font-size:18px;font-weight:900}.cg-score{font-size:15px;font-weight:800;background:#ffffff40;padding:6px 14px;border-radius:50px}.cg-world-grid{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px}.cg-world-btn{border-radius:26px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 12px;box-shadow:0 8px 24px #0000002e;transition:transform .15s}.cg-world-btn:active{transform:scale(.95)}.cg-world-icon{font-size:56px}.cg-world-label{font-size:16px;font-weight:900}.cg-sub{text-align:center;font-size:16px;font-weight:700;color:#6b7280;padding:14px 0 4px}.cg-char-grid{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:8px 16px 20px}.cg-char-btn{background:#fff;border-radius:20px;border:3px solid #E0E7FF;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;box-shadow:0 4px 14px #00000017;transition:transform .15s}.cg-char-btn:active{transform:scale(.93)}.cg-char-emoji{font-size:46px;line-height:1}.cg-char-name{font-size:12px;font-weight:800;color:#4f46e5;text-align:center}.cg-game{display:flex;flex-direction:column;position:relative}.cg-scene-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.cg-floater{position:absolute;font-size:22px;opacity:.38;animation:cgFloat 3.5s ease-in-out infinite}@keyframes cgFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(8deg)}}.scene-sea{background:none}.scene-sea:after{content:"🌊🌊🌊🌊🌊🌊🌊🌊🌊🌊";position:absolute;bottom:70px;left:0;right:0;font-size:28px;white-space:nowrap;opacity:.55;animation:waveScroll 4s linear infinite}@keyframes waveScroll{0%{transform:translate(0)}to{transform:translate(-40%)}}.scene-sea:before{content:"";position:absolute;bottom:60px;left:0;right:0;height:30px;background:linear-gradient(transparent,#d2b48c8c)}.scene-sea .cg-floater{font-size:26px;opacity:.5;animation-duration:4s}.scene-market:before{content:"";position:absolute;top:60px;left:0;right:0;height:6px;background:repeating-linear-gradient(to bottom,#e5c87a 0px,#e5c87a 3px,transparent 3px,transparent 30px);opacity:.6}.scene-market .cg-floater{opacity:.3}.scene-class:before{content:"";position:absolute;top:60px;left:0;right:0;bottom:0;background:repeating-linear-gradient(transparent,transparent 34px,rgba(16,185,129,.15) 34px,rgba(16,185,129,.15) 35px)}.scene-class .cg-floater{opacity:.3}.scene-kids:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(236,72,153,.12) 5px,transparent 5px);background-size:32px 32px}.scene-kids .cg-floater{opacity:.35;animation-duration:2.5s}.cg-q-row,.cg-items-grid,.cg-basket,.cg-train{position:relative;z-index:1}.cg-header{position:relative;z-index:2}.scene-sea~.cg-q-row .cg-q-card,.scene-sea~.cg-items-grid .cg-item{background:#ffffffe0;border-color:#0ea5e959}.cg-q-row{display:flex;align-items:center;gap:12px;padding:10px 16px 6px;flex-shrink:0}.cg-hero{font-size:52px;line-height:1;flex-shrink:0;animation:heroBob 2s ease-in-out infinite}@keyframes heroBob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.cg-q-card{flex:1;background:#fff;border-radius:18px;padding:10px 12px;box-shadow:0 4px 16px #00000017;display:flex;align-items:center;gap:8px;justify-content:space-between}.cg-q-txt{font-size:16px;font-weight:800;color:#1f2937;flex:1}.cg-speak-btn{color:#fff;font-size:18px;padding:6px 12px;border-radius:50px;box-shadow:0 3px 8px #0000002e;transition:transform .15s;flex-shrink:0}.cg-speak-btn:active{transform:scale(.9)}.cg-items-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:6px 16px;flex:1}.cg-item{background:#fff;border-radius:20px;border:3px solid #E5E7EB;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;cursor:grab;box-shadow:0 4px 14px #00000017;transition:transform .15s}.cg-item-emoji{font-size:48px;line-height:1;-webkit-user-select:none;user-select:none}.cg-item-label{font-size:12px;font-weight:800;color:#374151;text-align:center}.cg-item.cg-src{opacity:.28;transform:scale(.95)}.cg-item.cg-wrong-shake{animation:cgShake .45s ease}@keyframes cgShake{0%,to{transform:translate(0)}25%,75%{transform:translate(-8px)}50%{transform:translate(8px)}}.cg-basket{margin:6px 16px;border-radius:22px;border:3px dashed;background:#fff;flex-shrink:0;transition:all .25s;display:flex;align-items:center;gap:8px;padding:10px 14px}.cg-basket.bsk-ok{background:#f0fdf4;border-style:solid;animation:bskPop .4s ease}.cg-basket.bsk-no{background:#fff1f2;border-style:solid;animation:bskShake .4s ease}@keyframes bskPop{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes bskShake{0%,to{transform:translate(0)}25%,75%{transform:translate(-8px)}50%{transform:translate(8px)}}.cg-bsk-icon{font-size:38px;flex-shrink:0}.cg-coll-row{display:flex;gap:2px;flex:1;flex-wrap:wrap}.cg-coll-em{font-size:22px}.cg-bsk-hint{font-size:13px;font-weight:800;color:#9ca3af;white-space:nowrap}.cg-bsk-hint.ok{color:#16a34a}.cg-bsk-hint.no{color:#dc2626}.cg-float{position:fixed;pointer-events:none;z-index:9999;transform:scale(1.2) rotate(-6deg);filter:drop-shadow(0 10px 22px rgba(0,0,0,.28))}.cg-train{padding:6px 12px 14px;background:#fff;border-radius:24px 24px 0 0;flex-shrink:0}.cg-train-title{text-align:center;font-size:14px;font-weight:800;margin-bottom:5px}.cg-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:60px}.cln-game{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none}.cln-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;background:linear-gradient(135deg,#0ea5e9,#38bdf8);color:#fff;flex-shrink:0}.cln-back{background:#ffffff40;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px}.cln-back:active{background:#ffffff73}.cln-heading{font-size:18px;font-weight:900}.cln-score{font-size:15px;font-weight:800;background:#ffffff40;padding:6px 14px;border-radius:50px}.cln-announce{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:20px}.cln-ann-emoji{font-size:130px;line-height:1;cursor:pointer;animation:annBob 2s ease-in-out infinite}@keyframes annBob{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.05)}}.cln-ann-txt{font-size:28px;font-weight:900;color:#1f2937;text-align:center}.cln-ann-txt strong{color:#0ea5e9}.cln-ann-speak{background:#fff;color:#0ea5e9;font-size:16px;font-weight:800;padding:8px 24px;border-radius:50px;border:3px solid #BAE6FD;box-shadow:0 4px 12px #0ea5e933}.cln-start-btn{background:linear-gradient(135deg,#0ea5e9,#38bdf8);color:#fff;font-size:20px;font-weight:900;padding:16px 40px;border-radius:50px;box-shadow:0 6px 20px #0ea5e966;transition:transform .15s}.cln-start-btn:active{transform:scale(.95)}.cln-scene{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.cln-item-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:0}.cln-bg-emoji{font-size:clamp(140px,38vw,200px);line-height:1;-webkit-user-select:none;user-select:none}.cln-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;cursor:crosshair}.cln-hint-anim{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;font-size:18px;font-weight:900;color:#fff;background:#00000073;padding:10px 22px;border-radius:50px;animation:hintPulse 1.2s ease-in-out infinite;pointer-events:none}@keyframes hintPulse{0%,to{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.6;transform:translate(-50%,-50%) scale(.95)}}.cln-bar-wrap{position:absolute;bottom:0;left:0;right:0;z-index:3;height:36px;background:#00000040;display:flex;align-items:center}.cln-bar-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#4ade80,#22c55e);transition:width .3s ease;border-radius:0 4px 4px 0}.cln-bar-txt{position:relative;z-index:1;width:100%;text-align:center;font-size:14px;font-weight:900;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6)}.cln-done{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#ffffffe0;animation:doneIn .5s ease}@keyframes doneIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.cln-done-emoji{font-size:120px;line-height:1;animation:doneSpin .7s ease}@keyframes doneSpin{0%{transform:rotate(-15deg) scale(.7)}60%{transform:rotate(8deg) scale(1.1)}to{transform:rotate(0) scale(1)}}.cln-done-txt{font-size:24px;font-weight:900;text-align:center;color:#1f2937;line-height:1.4}.cln-done-txt strong{color:#0ea5e9}.fv-game{min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(160deg,#ecfdf5,#d1fae5,#fef9c3);font-family:Nunito,Segoe UI,sans-serif}.fv-loading{display:flex;align-items:center;justify-content:center;height:100dvh;font-size:60px}.fv-spinner{animation:spin 1s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.fv-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#16a34a,#4ade80);color:#fff;box-shadow:0 3px 10px #00000026}.fv-back{background:#ffffff40;border:none;color:#fff;font-size:15px;font-weight:700;padding:6px 14px;border-radius:20px;cursor:pointer}.fv-back:hover{background:#fff6}.fv-heading{font-size:18px;font-weight:800}.fv-score{font-size:17px;font-weight:800;background:#ffffff40;padding:4px 12px;border-radius:16px}.fv-word-card{margin:18px 16px 4px;background:#fff;border-radius:20px;padding:16px 20px 14px;text-align:center;box-shadow:0 4px 16px #16a34a21;border:2px solid #BBF7D0}.fv-instruction{margin:0 0 6px;font-size:14px;color:#6b7280;font-weight:600}.fv-word{font-size:clamp(28px,7vw,44px);font-weight:900;color:#15803d;letter-spacing:1px;margin-bottom:10px}.fv-speak-btn{background:linear-gradient(135deg,#16a34a,#4ade80);border:none;color:#fff;font-size:15px;font-weight:700;padding:8px 22px;border-radius:20px;cursor:pointer;transition:transform .15s}.fv-speak-btn:hover{transform:scale(1.05)}.fv-feedback{text-align:center;font-size:17px;font-weight:800;min-height:28px;padding:4px 0 2px;transition:color .2s}.fv-feedback.fb-ok{color:#16a34a}.fv-feedback.fb-no{color:#dc2626}.fv-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:8px 16px 12px;flex:1}.fv-btn{position:relative;background:#fff;border:3px solid #BBF7D0;border-radius:20px;padding:16px 8px 12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:0 4px 14px #16a34a1a;transition:transform .15s,box-shadow .15s,border-color .15s}.fv-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 20px #16a34a2e}.fv-btn:disabled{cursor:default}.fv-btn.fv-correct{border-color:#22c55e;background:#dcfce7}.fv-btn.fv-wrong{border-color:#f87171;background:#fee2e2}.fv-emoji{font-size:clamp(44px,12vw,72px);line-height:1}.fv-label{font-size:15px;font-weight:800;color:#374151}.fv-tick,.fv-cross{position:absolute;top:8px;right:10px;font-size:20px}.fv-train-section{padding:4px 16px 16px;text-align:center}.fv-train-title{font-size:14px;font-weight:700;color:#6b7280;margin:0 0 6px}.sl-game{min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(160deg,#f0fdf4,#dcfce7,#fef9c3);font-family:Nunito,Segoe UI,sans-serif;overflow:hidden}.sl-loading{display:flex;align-items:center;justify-content:center;height:100dvh;font-size:60px}.sl-spin{animation:sl-spin 1s linear infinite;display:inline-block}@keyframes sl-spin{to{transform:rotate(360deg)}}.sl-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#15803d,#4ade80);color:#fff;box-shadow:0 3px 10px #00000026;flex-shrink:0}.sl-back{background:#ffffff40;border:none;color:#fff;font-size:15px;font-weight:700;padding:6px 14px;border-radius:20px;cursor:pointer}.sl-back:hover{background:#fff6}.sl-heading{font-size:18px;font-weight:800}.sl-score{font-size:16px;font-weight:800;background:#ffffff40;padding:4px 12px;border-radius:16px}.sl-scene{position:relative;display:flex;align-items:flex-end;justify-content:space-between;padding:12px 18px 0;height:190px;flex-shrink:0;overflow:hidden}.sl-chef-wrap{display:flex;flex-direction:column;align-items:center;flex-shrink:0;z-index:2;transform-origin:bottom center}.sl-chef-hat{font-size:clamp(52px,14vw,80px);line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18));animation:sl-idle 3s ease-in-out infinite}.sl-chef-legs{width:28px;height:14px;background:#fff3;border-radius:4px}@keyframes sl-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.sl-chef-wrap.happy .sl-chef-hat{animation:sl-happy .5s ease-in-out 3}@keyframes sl-happy{0%{transform:translateY(0) rotate(0)}25%{transform:translateY(-14px) rotate(-8deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-8px) rotate(8deg)}to{transform:translateY(0) rotate(0)}}.sl-chef-wrap.sad .sl-chef-hat{animation:sl-sad .4s ease-in-out 2}@keyframes sl-sad{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-8px) rotate(-6deg)}40%{transform:translate(8px) rotate(6deg)}60%{transform:translate(-5px) rotate(-3deg)}80%{transform:translate(5px) rotate(3deg)}}.sl-bubble{flex:1;margin:8px 12px 28px;background:#fff;border-radius:16px;padding:10px 12px 8px;box-shadow:0 4px 14px #0000001a;border:2px solid #BBF7D0;position:relative;align-self:flex-start;z-index:2}.sl-bubble:before{content:"";position:absolute;left:-12px;top:24px;border:8px solid transparent;border-right-color:#bbf7d0}.sl-bubble:after{content:"";position:absolute;left:-9px;top:25px;border:7px solid transparent;border-right-color:#fff}.sl-bubble-text{margin:0 0 6px;font-size:clamp(13px,3.5vw,17px);color:#374151;font-weight:600;line-height:1.3}.sl-bubble-item{color:#15803d;font-size:clamp(15px,4vw,20px)}.sl-speak-btn{background:linear-gradient(135deg,#16a34a,#4ade80);border:none;color:#fff;font-size:14px;padding:5px 14px;border-radius:16px;cursor:pointer;font-weight:700;transition:transform .15s}.sl-speak-btn:hover{transform:scale(1.07)}.sl-bowl-area{display:flex;flex-direction:column;align-items:center;flex-shrink:0;z-index:2}.sl-bowl{position:relative;width:72px;height:72px;display:flex;align-items:center;justify-content:center;transition:transform .15s}.sl-bowl-bounce{animation:sl-bowl-pop .45s ease-out}@keyframes sl-bowl-pop{0%{transform:scale(1)}40%{transform:scale(1.22) rotate(-6deg)}70%{transform:scale(.92) rotate(4deg)}to{transform:scale(1) rotate(0)}}.sl-bowl-icon{font-size:58px;line-height:1;filter:drop-shadow(0 3px 6px rgba(0,0,0,.2));position:relative;z-index:1}.sl-bowl-contents{position:absolute;top:4px;left:50%;transform:translate(-50%);display:flex;flex-wrap:wrap;justify-content:center;width:52px;gap:1px;z-index:2}.sl-bowl-piece{font-size:12px;line-height:1}.sl-table-surface{width:90px;height:10px;background:linear-gradient(180deg,#a3522a,#7c3d1f);border-radius:6px;box-shadow:0 4px 8px #00000040;margin-top:2px}.sl-scene:after{content:"";position:absolute;bottom:0;left:0;right:0;height:20px;background:linear-gradient(180deg,#86efac,#4ade80);border-radius:0}.sl-fly{position:fixed;bottom:48%;left:50%;font-size:42px;z-index:999;pointer-events:none;animation:sl-fly-up .75s cubic-bezier(.22,1,.36,1) forwards;transform-origin:center}@keyframes sl-fly-up{0%{transform:translate(-50%) scale(1.2);opacity:1}60%{opacity:1}to{transform:translate(calc(-50% + 38vw),-62vh) scale(.4);opacity:0}}.sl-feedback{text-align:center;font-size:16px;font-weight:800;min-height:28px;padding:4px 12px 2px;transition:color .2s;flex-shrink:0}.sl-feedback.fb-ok{color:#16a34a}.sl-feedback.fb-no{color:#dc2626}.sl-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:6px 16px 10px;flex:1}.sl-btn{position:relative;background:#fff;border:3px solid #BBF7D0;border-radius:20px;padding:14px 8px 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;box-shadow:0 4px 14px #16a34a1a;transition:transform .15s,box-shadow .15s,border-color .15s}.sl-btn:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 8px 22px #16a34a33}.sl-btn:disabled{cursor:default}.sl-btn.sl-correct{border-color:#22c55e;background:#dcfce7;animation:sl-pop .3s ease}.sl-btn.sl-wrong{border-color:#f87171;background:#fee2e2;animation:sl-shake .35s ease}@keyframes sl-pop{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes sl-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.sl-opt-emoji{font-size:clamp(40px,11vw,68px);line-height:1}.sl-opt-label{font-size:14px;font-weight:800;color:#374151}.sl-badge{position:absolute;top:7px;right:10px;font-size:18px}.sl-train-wrap{padding:2px 16px 14px;text-align:center;flex-shrink:0}.sl-train-label{font-size:13px;font-weight:700;color:#6b7280;margin:0 0 5px}.bg-game{min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(160deg,#eff6ff,#dbeafe,#ede9fe);font-family:Nunito,Segoe UI,sans-serif}.bg-loading{display:flex;align-items:center;justify-content:center;height:100dvh;font-size:60px}.bg-spinner{animation:bg-spin 1s linear infinite;display:inline-block}@keyframes bg-spin{to{transform:rotate(360deg)}}.bg-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;box-shadow:0 3px 10px #00000026}.bg-back{background:#ffffff40;border:none;color:#fff;font-size:15px;font-weight:700;padding:6px 14px;border-radius:20px;cursor:pointer}.bg-back:hover{background:#fff6}.bg-heading{font-size:18px;font-weight:800}.bg-score{font-size:16px;font-weight:800;background:#ffffff40;padding:4px 12px;border-radius:16px}.bg-word-card{margin:18px 16px 4px;background:#fff;border-radius:20px;padding:16px 20px 14px;text-align:center;box-shadow:0 4px 16px #2563eb1f;border:2px solid #BFDBFE}.bg-instruction{margin:0 0 6px;font-size:14px;color:#6b7280;font-weight:600}.bg-word{font-size:clamp(28px,7vw,44px);font-weight:900;color:#1d4ed8;letter-spacing:1px;margin-bottom:10px}.bg-speak-btn{background:linear-gradient(135deg,#2563eb,#7c3aed);border:none;color:#fff;font-size:15px;font-weight:700;padding:8px 22px;border-radius:20px;cursor:pointer;transition:transform .15s}.bg-speak-btn:hover{transform:scale(1.05)}.bg-feedback{text-align:center;font-size:17px;font-weight:800;min-height:28px;padding:4px 0 2px}.bg-feedback.fb-ok{color:#16a34a}.bg-feedback.fb-no{color:#dc2626}.bg-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:8px 16px 12px;flex:1}.bg-btn{position:relative;background:#fff;border:3px solid #BFDBFE;border-radius:20px;padding:16px 8px 12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:0 4px 14px #2563eb17;transition:transform .15s,box-shadow .15s,border-color .15s}.bg-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 22px #2563eb2e}.bg-btn:disabled{cursor:default}.bg-btn.bg-correct{border-color:#22c55e;background:#dcfce7;animation:bg-pop .3s ease}.bg-btn.bg-wrong{border-color:#f87171;background:#fee2e2;animation:bg-shake .35s ease}@keyframes bg-pop{0%{transform:scale(1)}50%{transform:scale(1.09)}to{transform:scale(1)}}@keyframes bg-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.bg-emoji{font-size:clamp(44px,12vw,72px);line-height:1}.bg-label{font-size:15px;font-weight:800;color:#374151}.bg-tick,.bg-cross{position:absolute;top:8px;right:10px;font-size:20px}.bg-train-section{padding:4px 16px 16px;text-align:center}.bg-train-title{font-size:14px;font-weight:700;color:#6b7280;margin:0 0 6px}.rg-game{min-height:100dvh;display:flex;flex-direction:column;font-family:Nunito,Segoe UI,sans-serif;background:#87ceeb;overflow:hidden}.rg-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:linear-gradient(135deg,#1e40af,#7c3aed);color:#fff;box-shadow:0 3px 10px #0003;flex-shrink:0;z-index:10}.rg-back{background:#ffffff40;border:none;color:#fff;font-size:14px;font-weight:700;padding:6px 12px;border-radius:18px;cursor:pointer}.rg-back:hover{background:#fff6}.rg-heading{font-size:17px;font-weight:800}.rg-lives{display:flex;gap:2px;font-size:20px}.rg-ready{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 24px;text-align:center;background:linear-gradient(160deg,#e0f2fe,#dbeafe,#ede9fe)}.rg-ready-emoji{font-size:52px;margin-bottom:12px}.rg-ready-title{font-size:30px;font-weight:900;color:#1e40af;margin:0 0 10px}.rg-ready-desc{font-size:17px;color:#4b5563;font-weight:600;line-height:1.5;margin:0 0 28px}.rg-start-btn{background:linear-gradient(135deg,#f59e0b,#fbbf24);border:none;color:#fff;font-size:20px;font-weight:900;padding:14px 36px;border-radius:28px;cursor:pointer;box-shadow:0 4px 14px #f59e0b66;transition:transform .15s}.rg-start-btn:hover{transform:scale(1.05)}.rg-target-card{display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:3px solid #F59E0B;flex-shrink:0;z-index:5}.rg-target-label{font-size:14px;font-weight:700;color:#92400e}.rg-target-name{font-size:clamp(18px,5vw,24px);font-weight:900;color:#b45309;flex:1}.rg-hear-btn{background:#f59e0b;border:none;color:#fff;font-size:16px;padding:6px 12px;border-radius:16px;cursor:pointer;font-weight:700}.rg-score-chip{font-size:15px;font-weight:800;color:#1e40af;background:#ffffffb3;padding:4px 10px;border-radius:14px}.rg-track{flex:1;position:relative;overflow:hidden;background:linear-gradient(180deg,#87ceeb,#b3e0f0 60%,#86efac 60%,#4ade80 75%,#22c55e)}.rg-lane{position:absolute;left:0;right:0;height:2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.35) 0px,rgba(255,255,255,.35) 20px,transparent 20px,transparent 36px)}.rg-finish-line{position:absolute;left:0;top:0;bottom:0;width:36px;background:repeating-linear-gradient(180deg,#000,#000 10px,#fff 10px,#fff 20px);z-index:3;display:flex;align-items:center;justify-content:center}.rg-finish-text{font-size:22px;writing-mode:vertical-rl}@keyframes race-run{0%{left:108%}to{left:-16%}}@keyframes bounce{0%,to{transform:scaleX(-1) translateY(0)}50%{transform:scaleX(-1) translateY(-7px)}}.rg-runner{position:absolute;cursor:pointer;z-index:4;animation:race-run linear forwards;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.rg-runner-emoji{font-size:clamp(36px,10vw,56px);display:inline-block;animation:bounce .45s ease-in-out infinite;filter:drop-shadow(0 3px 6px rgba(0,0,0,.2))}.rg-runner.rg-target .rg-runner-emoji{filter:drop-shadow(0 0 10px #FBBF24) drop-shadow(0 0 20px #F59E0B);animation:bounce .4s ease-in-out infinite}.rg-runner.rg-target:after{content:"👆";position:absolute;top:-22px;left:50%;transform:translate(-50%);font-size:18px;animation:point-down .6s ease-in-out infinite alternate}@keyframes point-down{0%{top:-22px}to{top:-14px}}.rg-runner.rg-wrong-flash .rg-runner-emoji{animation:wrong-shake .3s ease}@keyframes wrong-shake{0%,to{transform:scaleX(-1) translate(0)}25%{transform:scaleX(-1) translate(-8px)}75%{transform:scaleX(-1) translate(8px)}}.rg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#0000008c;display:flex;align-items:center;justify-content:center}.rg-overlay-box{background:#fff;border-radius:24px;padding:28px 32px;text-align:center;box-shadow:0 8px 32px #00000040;display:flex;flex-direction:column;gap:10px;animation:overlay-pop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes overlay-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.rg-overlay-icon{font-size:56px}.rg-overlay-box h2{margin:0;font-size:26px;font-weight:900;color:#1e40af}.rg-overlay-box p{margin:0;font-size:17px;color:#4b5563;font-weight:600}.rg-menu-btn{background:#e5e7eb;border:none;color:#374151;font-size:16px;font-weight:700;padding:10px 24px;border-radius:20px;cursor:pointer}.ty-game{min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(160deg,#fff1f2,#ffe4e6,#fef9c3);font-family:Nunito,Segoe UI,sans-serif}.ty-loading{display:flex;align-items:center;justify-content:center;height:100dvh;font-size:60px}.ty-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#e11d48,#fb7185);color:#fff;box-shadow:0 3px 10px #00000026}.ty-back{background:#ffffff40;border:none;color:#fff;font-size:15px;font-weight:700;padding:6px 14px;border-radius:20px;cursor:pointer}.ty-back:hover{background:#fff6}.ty-heading{font-size:18px;font-weight:800}.ty-score{font-size:16px;font-weight:800;background:#ffffff40;padding:4px 12px;border-radius:16px}.ty-word-card{margin:18px 16px 4px;background:#fff;border-radius:20px;padding:16px 20px 14px;text-align:center;box-shadow:0 4px 16px #e11d481f;border:2px solid #FECDD3}.ty-instruction{margin:0 0 6px;font-size:14px;color:#6b7280;font-weight:600}.ty-word{font-size:clamp(26px,7vw,42px);font-weight:900;color:#be123c;letter-spacing:1px;margin-bottom:10px}.ty-speak-btn{background:linear-gradient(135deg,#e11d48,#fb7185);border:none;color:#fff;font-size:15px;font-weight:700;padding:8px 22px;border-radius:20px;cursor:pointer;transition:transform .15s}.ty-speak-btn:hover{transform:scale(1.05)}.ty-feedback{text-align:center;font-size:17px;font-weight:800;min-height:28px;padding:4px 0 2px}.ty-feedback.fb-ok{color:#16a34a}.ty-feedback.fb-no{color:#dc2626}.ty-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:8px 16px 12px;flex:1}.ty-btn{position:relative;background:#fff;border:3px solid #FECDD3;border-radius:20px;padding:16px 8px 12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:0 4px 14px #e11d4817;transition:transform .15s,box-shadow .15s}.ty-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 22px #e11d482e}.ty-btn:disabled{cursor:default}.ty-btn.ty-correct{border-color:#22c55e;background:#dcfce7;animation:ty-pop .3s ease}.ty-btn.ty-wrong{border-color:#f87171;background:#fee2e2;animation:ty-shake .35s ease}@keyframes ty-pop{0%{transform:scale(1)}50%{transform:scale(1.09)}to{transform:scale(1)}}@keyframes ty-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.ty-emoji{font-size:clamp(44px,12vw,72px);line-height:1}.ty-label{font-size:14px;font-weight:800;color:#374151}.ty-tick,.ty-cross{position:absolute;top:8px;right:10px;font-size:20px}.ty-train-section{padding:4px 16px 16px;text-align:center}.ty-train-title{font-size:14px;font-weight:700;color:#6b7280;margin:0 0 6px}.catch-game{width:100%;height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#1a1a2e,#16213e 40%,#0f3460);overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.catch-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 8px;z-index:10}.catch-back{background:#ffffff26;border:none;border-radius:50%;width:40px;height:40px;font-size:20px;color:#fff;cursor:pointer;flex-shrink:0}.catch-target-box{display:flex;flex-direction:column;align-items:center;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:20px;padding:6px 18px;gap:2px}.catch-target-label{font-size:12px;color:#ffffffb3;font-weight:600}.catch-target-name{font-size:20px;font-weight:900;color:gold;text-shadow:0 0 10px rgba(255,215,0,.6)}.catch-target-emoji{font-size:28px;line-height:1}.catch-score{background:#ffd70033;border:2px solid #ffd700;border-radius:16px;padding:6px 12px;font-size:16px;font-weight:900;color:gold;min-width:60px;text-align:center}.catch-progress-wrap{height:14px;background:#ffffff1f;border-radius:8px;margin:0 16px 4px;position:relative;overflow:hidden}.catch-progress-bar{height:100%;background:linear-gradient(90deg,#6ee7b7,#34d399);border-radius:8px;transition:width .3s ease}.catch-progress-text{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:800;color:#fff}.catch-misses{text-align:center;font-size:16px;letter-spacing:3px;height:20px;margin-bottom:2px}.catch-field{flex:1;position:relative;overflow:hidden}.catch-item{position:absolute;top:-70px;font-size:52px;cursor:pointer;transform:translate(-50%);animation:fall linear forwards;filter:drop-shadow(0 4px 8px rgba(0,0,0,.4));transition:transform .05s;touch-action:none}.catch-item:active{transform:translate(-50%) scale(.75)}@keyframes fall{0%{top:-70px}to{top:110%}}.catch-burst{pointer-events:none;font-size:32px;transform:translate(-50%,-50%);animation:burst .65s ease-out forwards;z-index:100}.catch-burst.correct{color:#22c55e}.catch-burst.wrong{color:#ef4444}@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}50%{opacity:1;transform:translate(-50%,-80%) scale(1.4)}to{opacity:0;transform:translate(-50%,-120%) scale(1)}}.catch-done{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000008c;z-index:50;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.catch-done-card{background:#fff;border-radius:28px;padding:36px 48px;text-align:center;box-shadow:0 20px 60px #00000059}.catch-done-emoji{font-size:64px}.catch-done-text{font-size:28px;font-weight:900;color:#6c63ff;margin:8px 0}.catch-done-score{font-size:20px;font-weight:700;color:#374151}.egg-screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;background:linear-gradient(160deg,#1a1a2e,#16213e,#0f3460);overflow:hidden;padding-bottom:20px}.egg-header{text-align:center;padding:40px 20px 10px;color:#fff}.egg-header h2{font-size:30px;font-weight:900;margin-bottom:8px}.egg-header p{font-size:17px;font-weight:700;color:#fffc}.egg-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;gap:16px;width:100%;-webkit-tap-highlight-color:transparent}.egg-svg{width:200px;height:250px;filter:drop-shadow(0 12px 32px rgba(255,230,100,.25));transition:filter .3s ease}.egg-svg:active{transform:scale(.96)}.egg-glow{animation:eggGlow .9s ease-in-out infinite alternate}@keyframes eggGlow{0%{opacity:.4;stroke-width:4}to{opacity:1;stroke-width:8}}.egg-shake{animation:eggShake .28s ease}@keyframes eggShake{0%,to{transform:rotate(0) scale(1)}20%{transform:rotate(-8deg) scale(1.04)}50%{transform:rotate(7deg) scale(1.06)}80%{transform:rotate(-5deg) scale(1.03)}}.egg-tap-hint{font-size:22px;font-weight:900;color:#ffffffb3;animation:tapBounce 1s ease-in-out infinite alternate}@keyframes tapBounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.tap-dots{display:flex;gap:9px}.tap-dot{width:14px;height:14px;border-radius:50%;background:#fff3;border:2px solid rgba(255,255,255,.4);transition:background .25s ease,transform .25s ease}.tap-dot.filled{background:#ffe66d;border-color:#f9a825;transform:scale(1.2);box-shadow:0 0 8px #ffe66d}.hatch-result{display:flex;flex-direction:column;align-items:center;position:relative;gap:10px;animation:hatchReveal .6s cubic-bezier(.34,1.56,.64,1)}@keyframes hatchReveal{0%{transform:scale(.3) rotate(-15deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.hatched-animal{font-size:110px;line-height:1;filter:drop-shadow(0 8px 24px rgba(255,255,255,.3));animation:animalFloat 2s ease-in-out infinite alternate}@keyframes animalFloat{0%{transform:translateY(0) scale(1)}to{transform:translateY(-14px) scale(1.04)}}.hatched-name{font-size:38px;font-weight:900;color:#ffe66d;text-shadow:0 3px 16px rgba(249,168,37,.6)}.hatched-hint{font-size:20px;font-weight:700;color:#ffffffbf;background:#ffffff1a;padding:6px 20px;border-radius:50px}.particles{position:absolute;top:40%;left:50%;width:0;height:0;pointer-events:none;z-index:10}.particle{position:absolute;animation:burst .8s ease-out var(--delay) both;top:0;left:0}@keyframes burst{0%{transform:rotate(var(--angle)) translate(0) scale(0);opacity:1}60%{opacity:1}to{transform:rotate(var(--angle)) translate(var(--dist)) scale(1);opacity:0}}.egg-buttons{display:flex;gap:14px;padding:0 24px;width:100%}.egg-btn-collection,.egg-btn-menu{flex:1;padding:16px 0;font-size:17px;font-weight:900;border-radius:50px;box-shadow:0 6px 22px #00000040;transition:transform .15s ease}.egg-btn-collection{background:#ffe66d;color:#5d4037}.egg-btn-menu{background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.3)}.egg-btn-collection:active,.egg-btn-menu:active{transform:scale(.95)}.col-screen{width:100%;height:100%;display:flex;flex-direction:column;background:#f8f9ff;overflow:hidden}.col-header{display:flex;align-items:center;gap:12px;padding:16px 18px 12px;background:linear-gradient(135deg,#1a1a2e,#0f3460);flex-shrink:0}.col-back{background:#ffffff2e;color:#fff;font-size:14px;font-weight:800;padding:7px 14px;border-radius:50px;transition:background .15s;flex-shrink:0}.col-back:active{background:#ffffff59}.col-title-area{flex:1}.col-title{font-size:20px;font-weight:900;color:#fff;line-height:1}.col-sub{font-size:14px;color:#ffffffb3;font-weight:700;margin-top:2px}.col-tabs{display:flex;background:#0f3460;flex-shrink:0;border-bottom:2px solid rgba(255,255,255,.1)}.col-tab{flex:1;padding:10px 4px 8px;border:none;background:transparent;color:#fff9;font-size:clamp(11px,3vw,14px);font-weight:700;cursor:pointer;border-bottom:3px solid transparent;font-family:inherit;transition:color .2s,border-color .2s}.col-tab:hover{color:#ffffffd9}.col-tab-active{color:#fff!important}.col-progress-wrap{display:flex;align-items:center;gap:10px;padding:10px 18px 6px;background:#0f3460;flex-shrink:0}.col-progress-bar{flex:1;height:12px;background:#ffffff26;border-radius:50px;overflow:hidden}.col-progress-fill{height:100%;background:linear-gradient(90deg,#ffe66d,#ff9f43);border-radius:50px;transition:width .6s ease;box-shadow:0 0 10px #ffe66480}.col-progress-label{color:#ffe66d;font-size:13px;font-weight:900;min-width:36px;text-align:right}.col-complete-banner{background:linear-gradient(90deg,#ffe66d,#ff9f43);color:#5d4037;text-align:center;font-size:15px;font-weight:900;padding:10px;flex-shrink:0;animation:pulse 1.5s ease infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.col-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px;scrollbar-width:none}.col-grid::-webkit-scrollbar{display:none}.col-card{background:#fff;border-radius:18px;padding:12px 6px 8px;display:flex;flex-direction:column;align-items:center;gap:3px;box-shadow:0 3px 12px #00000014;transition:transform .15s ease;cursor:pointer;min-height:110px;position:relative;overflow:hidden}.col-card.unlocked{border:2.5px solid #6C63FF;background:linear-gradient(135deg,#f3f1ff,#fff)}.col-card.unlocked:active{transform:scale(.93)}.col-card.locked{opacity:.55;border:2px dashed #ccc;background:#f5f5f5;cursor:default}.col-animal-emoji{font-size:38px;line-height:1}.col-animal-name{font-size:12px;font-weight:800;color:#333;text-align:center}.col-animal-hint{font-size:10px;color:#999;font-weight:600}.col-speak-hint{font-size:10px;color:#6c63ff;font-weight:700;margin-top:2px}.col-egg{font-size:36px}.col-lock{font-size:18px;position:absolute;top:6px;right:8px}.locked-name{color:#bbb}.app-root{width:100%;height:100dvh;max-width:480px;margin:0 auto;position:relative;overflow:hidden;background:#f8f9ff;box-shadow:0 0 80px #6c63ff2e}@media (min-width: 600px){.app-root{max-width:680px}}@media (min-width: 1024px){.app-root{max-width:960px;box-shadow:0 0 120px #6c63ff38}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:root{--primary: #6C63FF;--secondary: #FF6B6B;--accent: #FFE66D;--success: #6BCB77;--bg: #F8F9FF;--card-bg: #FFFFFF;--text: #2D2D2D;--text-light: #888;--radius: 20px;--shadow: 0 8px 32px rgba(108,99,255,.15)}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:Nunito,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font-family:Nunito,sans-serif;cursor:pointer;border:none;outline:none}button:active{transform:scale(.96)}@media (min-width: 600px){body{background:linear-gradient(135deg,#e0e7ff,#f3e8ff,#dbeafe)}}
