:root{--bg-main: #fcfbf6;--card-green-bg: #e8f5e1;--card-blue-bg: #dcedf7;--primary-green: #67a36c;--primary-green-hover: #568a5a;--text-dark: #3b4e3e;--text-light: #728374;--white: #ffffff;--shadow: 0 4px 15px rgba(0, 0, 0, .05);--border-radius-lg: 24px;--border-radius-md: 16px;--border-radius-sm: 10px;--color-success-bg: #d7ffb8;--color-success-text: #4a7e28;--color-success-btn: #58cc02;--color-success-btn-shadow: #58a700;--color-error-bg: #ffdfe0;--color-error-text: #ea2b2b;--color-error-btn: #ff4b4b;--color-error-btn-shadow: #ea2b2b;--color-highlight-yellow: #fff3cd;--color-highlight-yellow-text: #7a5500;--color-border-light: #e5e5e5;--color-border-medium: #e0e8f0;--color-border-blue: #4da3d6;--transition-fast: .1s cubic-bezier(.3, 0, .5, 1);--transition-medium: .2s;--transition-smooth: .4s cubic-bezier(.19, 1, .22, 1)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:Nunito,sans-serif;background-color:var(--bg-main);color:var(--text-dark);line-height:1.5;overflow-x:hidden;width:100%;position:relative}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes slideOutLeft{to{transform:translate(-100%);opacity:0}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes transitionBounceIn{0%{opacity:0;transform:scale(.3) translateY(50px)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes transitionIconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.slide-out{animation:slideOutLeft .3s forwards}.slide-in{animation:slideInRight .3s forwards}.page-transition{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-main, #fcfbf6);z-index:10000;opacity:1;transition:opacity .3s ease;pointer-events:none}.page-transition.loaded{opacity:0}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 37%,#f0f0f0 63%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:8px;color:transparent!important;-webkit-user-select:none;user-select:none}.skeleton-line{height:1.2em;border-radius:6px;margin:8px auto}.skeleton-line.short{width:40%}.skeleton-line.medium{width:60%}.skeleton-line.long{width:80%}@keyframes celebrationBounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes celebrationStarPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes confettiDrop{0%{transform:translateY(-100vh) rotate(0);opacity:1}85%{opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.celebration-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#58cc02,#2b8a00);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2000;opacity:0;pointer-events:none;transition:opacity .5s ease}.celebration-overlay.show{opacity:1;pointer-events:auto}.celebration-content{text-align:center;color:#fff;animation:celebrationBounce .7s cubic-bezier(.68,-.55,.265,1.55);z-index:2}.celebration-icon{font-size:5rem;margin-bottom:20px;animation:celebrationStarPulse 2s ease-in-out infinite}.celebration-title{font-size:2.2rem;font-weight:900;margin-bottom:10px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.celebration-subtitle{font-size:1.2rem;font-weight:600;opacity:.9;margin-bottom:30px}.celebration-btn{background:#fff;color:#2b8a00;border:none;border-radius:16px;padding:16px 40px;font-size:1.1rem;font-weight:800;cursor:pointer;font-family:inherit;box-shadow:0 4px 15px #0003;transition:transform .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent}.celebration-btn:active{transform:translateY(2px);box-shadow:0 2px 8px #0003}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.confetti-piece{position:absolute;top:-20px;border-radius:2px;animation:confettiDrop linear forwards}@media(max-width:480px){.celebration-title{font-size:1.8rem}.celebration-icon{font-size:4rem}.celebration-subtitle{font-size:1rem}}.app-container{display:flex;min-height:100vh}.main-content{flex-grow:1;padding:30px 40px;max-width:1200px;margin:0 auto}.section-header h3{margin-bottom:15px;font-size:1.3rem}.cards-container{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;align-items:start}@media(max-width:900px){.cards-container{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.cards-container{grid-template-columns:1fr}}.section-card{border-radius:var(--border-radius-md);padding:20px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden;transition:transform var(--transition-medium);cursor:pointer}@media(hover:hover)and (pointer:fine){.section-card:hover{transform:translateY(-5px)}.section-card.no-hover:hover{transform:none}}.touch-device .section-card:hover{transform:none}.section-card h4{font-weight:800;margin-bottom:15px}.card-icon{font-size:2.5rem;margin-bottom:15px}.green-card{background-color:#d8f3cd}.blue-card{background-color:var(--card-blue-bg)}.purple-card{background-color:#e5d8ff}.orange-card{background-color:#ffe4cc}.orange-card .sub-task-btn.default-sub{border-color:#e07b5a;color:#e07b5a}.pink-card{background-color:#f7d6f5}.pink-card .sub-task-btn.default-sub{border-color:#aa77b5;color:#aa77b5}.has-submenu{display:flex;flex-direction:column;padding-bottom:20px;height:auto}@media(hover:hover)and (pointer:fine){.section-card.has-submenu:hover{transform:none}}.sub-tasks-menu{display:none;flex-direction:column;gap:8px;width:100%;margin-top:15px;animation:fadeIn .3s ease}@media(hover:hover)and (pointer:fine){.section-card.has-submenu:hover .sub-tasks-menu{display:flex}}.section-card.has-submenu.active .sub-tasks-menu{display:flex}.progress-bar{height:16px;background-color:#e5e5e5;border-radius:8px;position:relative;overflow:hidden}.progress-bar .fill{height:100%;background-color:var(--primary-green);border-radius:8px;width:0%;transition:width var(--transition-smooth)}.progress-highlight{position:absolute;top:3px;left:10px;right:10px;height:4px;background:#ffffff4d;border-radius:4px}.progress-bar .fill.confident{background-color:var(--primary-green)}.progress-bar .fill.practicing{background-color:#ffd93d}.progress-bar .fill.struggling{background-color:#ff6b6b}.blue-card .fill{background-color:var(--color-border-blue)}.card-progress{width:100%;text-align:left;font-size:.8rem;font-weight:700;color:var(--text-light)}.card-progress .progress-bar{width:100%;height:6px;background-color:#0000001a;border-radius:3px;margin-top:5px;overflow:hidden;display:flex}.card-progress .progress-bar .fill{height:100%;background-color:var(--primary-green);border-radius:0;transition:width .3s ease}.card-progress .progress-bar .fill.confident{background-color:var(--primary-green)}.card-progress .progress-bar .fill.practicing{background-color:#ffd93d}.card-progress .progress-bar .fill.struggling{background-color:#ff6b6b}.action-btn,.choice-option-btn,.matching-option-btn,.tf-btn{font-family:inherit;font-size:1.1rem;font-weight:700;border:3px solid var(--color-border-light);border-bottom:6px solid var(--color-border-light);border-radius:16px;padding:14px 20px;cursor:pointer;transition:transform var(--transition-fast),border-bottom var(--transition-fast),background-color var(--transition-medium);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:var(--white);color:var(--text-dark);box-sizing:border-box;word-break:break-word;width:100%;flex-shrink:0;min-height:54px}.action-btn:active,.choice-option-btn:active,.tf-btn:active:not(:disabled){border-bottom-width:3px;transform:translateY(3px)}.action-btn:disabled:not(.correct):not(.wrong),.choice-option-btn:disabled:not(.correct):not(.wrong),.matching-option-btn:disabled:not(.correct):not(.wrong),.tf-btn:disabled:not(.selected-correct):not(.selected-wrong){opacity:.5;cursor:not-allowed}.action-btn.correct,.vowel-btn.correct,.choice-option-btn.correct,.matching-option-btn.correct{background-color:var(--primary-green)!important;color:#fff!important;border-color:var(--primary-green-hover)!important;animation:pop .3s cubic-bezier(.175,.885,.32,1.275)}.action-btn.wrong,.vowel-btn.wrong,.choice-option-btn.wrong,.matching-option-btn.wrong{background-color:var(--color-error-btn)!important;color:#fff!important;border-color:#d13030!important;animation:shake .4s ease-in-out}.action-btn.loading,.vowel-btn.loading,.choice-option-btn.loading,.matching-option-btn.loading,.tf-btn.loading,.type-submit-btn.loading{background-color:#e0e0e0!important;color:transparent!important;border-color:#d0d0d0!important;border-bottom-color:#d0d0d0!important;position:relative;pointer-events:none;animation:pulse 1s ease-in-out infinite}.action-btn.loading:after,.vowel-btn.loading:after,.choice-option-btn.loading:after,.matching-option-btn.loading:after,.tf-btn.loading:after,.type-submit-btn.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:3px solid #999;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.vowel-btn.loading:after,.matching-option-btn.loading:after{width:16px;height:16px;border-width:2px}.action-btn{text-align:center}.choice-option-btn{text-align:left;white-space:normal;max-width:480px}.matching-option-btn{font-size:1rem;border-width:2px;border-bottom-width:5px;border-color:#e0e0e0;border-radius:12px;padding:10px 18px;text-align:center;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto;min-width:0;width:auto;min-height:auto}.matching-option-btn:active{border-bottom-width:2px;transform:translateY(3px)}.matching-option-btn.selected{border-color:var(--color-border-blue);background:var(--card-blue-bg)}@media(max-width:480px){.matching-option-btn{font-size:.9rem;padding:10px 8px}}.tf-btn{font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;min-height:60px;transition:transform var(--transition-fast),border-bottom var(--transition-fast),background-color var(--transition-medium),opacity var(--transition-medium);max-width:192px}@media(max-width:480px){.tf-btn{max-width:100%}}.tf-true{color:var(--color-success-btn)}.tf-false{color:var(--color-error-btn)}@media(hover:hover)and (pointer:fine){.tf-true:hover:not(:disabled),.tf-false:hover:not(:disabled){background-color:#f7f7f7;border-color:#d0d0d0;border-bottom-color:#d0d0d0}}.touch-device .tf-true:hover:not(:disabled),.touch-device .tf-false:hover:not(:disabled){background-color:var(--white);border-color:var(--color-border-light);border-bottom-color:var(--color-border-light)}.tf-true.selected-correct,.tf-false.selected-correct{background:var(--primary-green)!important;color:#fff!important;border-color:var(--primary-green-hover)!important;border-bottom-color:var(--primary-green-hover)!important;animation:pop .3s cubic-bezier(.175,.885,.32,1.275)}.tf-true.selected-wrong,.tf-false.selected-wrong{background:var(--color-error-btn)!important;color:#fff!important;border-color:#d13030!important;border-bottom-color:#d13030!important;animation:shake .4s ease-in-out}.vowel-btn{background-color:var(--card-blue-bg);color:var(--text-dark);font-size:3rem;font-weight:900;border:2px solid #bde0f5;border-bottom:6px solid #bde0f5;border-radius:12px;padding:2px 10px 4px;cursor:pointer;transition:transform var(--transition-fast),border-bottom var(--transition-fast),background-color var(--transition-medium);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.vowel-btn:active{border-bottom-width:2px;transform:translateY(4px);background-color:#cce9fa}.type-submit-btn{background:var(--primary-green);color:#fff;font-family:inherit;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;border:none;border-bottom:5px solid var(--primary-green-hover);border-radius:16px;padding:16px 24px;cursor:pointer;transition:filter .1s ease,transform .1s ease,border-bottom .1s ease;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box;width:100%;max-width:480px;flex-shrink:0;min-height:56px;margin:0 auto;-webkit-user-select:none;user-select:none}@media(hover:hover)and (pointer:fine){.type-submit-btn:hover:not(:disabled){filter:brightness(1.08)}}.type-submit-btn:active:not(:disabled){border-bottom-width:2px;transform:translateY(3px);filter:brightness(.96)}.type-submit-btn:disabled{opacity:.45;cursor:not-allowed}.continue-btn{width:100%;color:#fff;border:none;border-radius:16px;padding:16px;font-size:1.2rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);font-family:inherit;-webkit-tap-highlight-color:transparent}.continue-btn:active{transform:translateY(4px);box-shadow:none!important}.sub-task-btn{background:#fff9;border:none;border-radius:var(--border-radius-sm);padding:10px;font-weight:700;color:var(--text-dark);cursor:pointer;transition:all var(--transition-medium);font-family:inherit;font-size:.9rem}@media(hover:hover)and (pointer:fine){.sub-task-btn:hover{background:#fff;transform:translateY(-2px)}}.touch-device .sub-task-btn:hover{background:#fff9;transform:none}.touch-device .sub-task-btn.default-sub:hover{background:#fff}.sub-task-btn.default-sub{background:#fff;border:2px solid var(--primary-green);color:var(--primary-green)}.blue-card .sub-task-btn.default-sub{border-color:var(--color-border-blue);color:var(--color-border-blue)}
