@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@700;800&display=swap";:root{--color-success: #58cc02;--color-success-dark: #46a302;--color-error: #ff4b4b;--color-error-dark: #d33131;--color-info: #1cb0f6;--color-info-dark: #0d8fd4;--color-warning: #ffc800;--color-warning-dark: #d9aa00;--color-text-main: #3c3c3c;--color-text-sub: #777;--border-color: #e5e5e5;--border-radius: 20px;--font-family: "Manrope", "Segoe UI", sans-serif;--font-family-brand: "Sora", "Manrope", sans-serif;--transition: all .25s cubic-bezier(.4, 0, .2, 1);--shadow-xs: 0 1px 3px rgba(0,0,0,.08);--shadow-sm: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);--shadow-md: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);--shadow-lg: 0 20px 25px -5px rgba(0,0,0,.1), 0 10px 10px -5px rgba(0,0,0,.04);--shadow-glow-green: 0 0 20px rgba(88,204,2,.35);--shadow-glow-blue: 0 0 20px rgba(28,176,246,.35)}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-family);background:#667eea;color:var(--color-text-main);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;justify-content:center;background:radial-gradient(circle at 8% 12%,rgba(255,255,255,.12),transparent 30%),radial-gradient(circle at 85% 10%,rgba(113,211,255,.18),transparent 35%),linear-gradient(135deg,#0f2238,#1d486f 42%,#2a7098);background-size:180% 180%;animation:gradientShift 20s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}#root{width:100%;max-width:600px;min-height:100vh;position:relative;display:flex;flex-direction:column;justify-content:center}.app-shell{width:100%;max-width:600px;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px 0}.loading-screen{width:min(560px,94vw);min-height:320px;border-radius:22px;background:#ffffffed;box-shadow:var(--shadow-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.loading-logo{width:76px;height:76px}.loading-spinner{width:34px;height:34px;border-radius:50%;border:4px solid rgba(53,183,243,.22);border-top-color:#35b7f3;animation:spin .75s linear infinite}.loading-text{margin:0;font-size:.98rem;color:#35657f;font-weight:600}.loading-start-btn{width:auto;min-width:170px;padding:12px 20px;font-size:.92rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.brand-outside{border:none;background:transparent;padding:0 6px;margin:0;cursor:pointer;transition:transform .2s ease;display:inline-flex;align-items:center;gap:10px}.brand-outside:hover{transform:translateY(-1px) scale(1.01)}.brand-outside-icon{width:56px;height:56px;filter:drop-shadow(0 8px 20px rgba(7,35,58,.32))}.brand-outside-text{font-family:var(--font-family-brand);font-size:1.12rem;font-weight:800;letter-spacing:.12em;line-height:1;background:linear-gradient(135deg,#a7f55e,#64dd9f 52%,#3cbaf0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 3px 12px rgba(7,35,58,.2)}.app-container{width:100%;max-width:600px;height:calc(100vh - 130px);min-height:calc(100vh - 130px);position:relative;display:flex;flex-direction:column;background:#fffffff5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(20px);border-radius:var(--border-radius);margin:20px;box-shadow:var(--shadow-md),0 0 0 1px #fff6 inset;overflow:hidden}.app-container:before{content:"";position:absolute;inset:0 0 auto;height:84px;background:linear-gradient(180deg,#ffffff94,#fff0);pointer-events:none;z-index:0}.app-container>*{position:relative;z-index:1}.app-header{height:6px;min-height:6px;padding:0;border:none;background:transparent;flex-shrink:0;display:block}.btn{border:none;width:100%;padding:16px;border-radius:var(--border-radius);font-family:var(--font-family);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;cursor:pointer;transition:var(--transition);position:relative;top:0;display:flex;color:#fff;align-items:center;justify-content:center;gap:10px}.btn:hover{filter:brightness(1.06)}.btn:active{top:4px;box-shadow:none!important;filter:brightness(.96)}.btn-primary{background:var(--color-success);box-shadow:0 4px 0 var(--color-success-dark),var(--shadow-sm)}.btn-primary:hover{box-shadow:0 4px 0 var(--color-success-dark),var(--shadow-glow-green)}.btn-secondary{background:var(--color-info);box-shadow:0 4px 0 var(--color-info-dark),var(--shadow-sm)}.btn-secondary:hover{box-shadow:0 4px 0 var(--color-info-dark),var(--shadow-glow-blue)}.btn-error{background:var(--color-error);box-shadow:0 4px 0 var(--color-error-dark)}.btn-outline{background:#fff;border:2px solid var(--border-color);color:var(--color-text-main);box-shadow:0 4px 0 var(--border-color)}.btn-outline:hover{background:#f7f7f7;border-color:#d7d7d7}.card{background:#fff;border-radius:var(--border-radius);padding:24px;margin-bottom:20px;box-shadow:var(--shadow-sm);transition:var(--transition)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.lang-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.option-card{cursor:pointer;border:2px solid transparent;transition:var(--transition);background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,transparent,transparent) border-box;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.option-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#58cc020f,#1cb0f60f);opacity:0;transition:var(--transition)}.option-card:hover{border-color:#1cb0f659;box-shadow:var(--shadow-md);transform:translateY(-4px) scale(1.02)}.option-card:hover:before{opacity:1}.option-card.selected{border-color:var(--color-info);box-shadow:0 0 0 3px #1cb0f633,var(--shadow-md);transform:translateY(-2px);background:linear-gradient(135deg,#e8f4ff,#ddf4ff)}.progress-container{height:10px;background:#e5e5e5;border-radius:99px;overflow:hidden;width:100%}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-success),#8be800);border-radius:99px;transition:width .45s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:shineSweep 3s ease-in-out infinite}@keyframes shineSweep{0%{left:-60%}to{left:160%}}h1{font-size:1.9rem;margin:0 0 1.8rem;text-align:center;color:var(--color-text-main);font-weight:800}h2{font-size:1.4rem;margin:0 0 1rem;color:var(--color-text-main);font-weight:700}p{color:var(--color-text-sub);line-height:1.6}.text-sub{color:var(--color-text-sub)}.animate-fade-in{animation:fadeIn .35s ease-out both}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-pop{animation:pop .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes celebrationBounce{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-18px) scale(1.1)}60%{transform:translateY(-8px) scale(1.05)}}.animate-celebrate{animation:celebrationBounce .7s cubic-bezier(.34,1.56,.64,1)}.lesson-view-container{padding:12px 12px 0;height:100%;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}.lesson-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.lesson-exit-btn{background:none;border:none;color:var(--color-text-sub);font-size:20px;cursor:pointer;padding:6px 8px;border-radius:8px;line-height:1;flex-shrink:0;transition:var(--transition)}.lesson-exit-btn:hover{background:#f5f5f5;color:var(--color-error)}.lesson-content{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:0}.fade-in-lesson{width:95%;max-height:calc(100vh - 210px);overflow-y:auto;text-align:center;animation:fadeIn .35s ease-out both;margin:0 auto;scrollbar-width:none;padding-bottom:18px}.fade-in-lesson::-webkit-scrollbar{display:none}.quiz-container{width:95%;animation:fadeIn .35s ease-out both;margin:0 auto}.quiz-header{text-align:center;margin-bottom:20px;font-size:1.35rem;font-weight:700;color:var(--color-text-main);line-height:1.4}.grid-squares{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:560px;margin:0 auto}.grid-rows{display:grid;grid-template-columns:1fr;gap:10px;max-width:560px;margin:0 auto}.quiz-option{background:#fff;border:2.5px solid var(--border-color);border-radius:16px;cursor:pointer;transition:var(--transition);box-shadow:0 4px 0 var(--border-color);position:relative;display:flex;align-items:center;color:var(--color-text-main);user-select:none}.quiz-option:hover:not(.disabled){background:#f0faff;transform:translateY(-2px);border-color:var(--color-info);box-shadow:0 6px #1cb0f64d,var(--shadow-glow-blue)}.quiz-option:active:not(.disabled){transform:translateY(2px);box-shadow:none}.quiz-option.correct{background:var(--color-success);border-color:var(--color-success-dark);color:#fff;box-shadow:0 4px 0 var(--color-success-dark),var(--shadow-glow-green);transform:translateY(2px)}.quiz-option.wrong{background:var(--color-error);border-color:var(--color-error-dark);color:#fff;box-shadow:0 4px 0 var(--color-error-dark);animation:shake .35s ease}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.quiz-option.disabled{cursor:default}.quiz-option-square{flex-direction:column;justify-content:center;padding:14px;min-height:110px;text-align:center}.quiz-option-row{flex-direction:row;justify-content:space-between;padding:12px 18px;min-height:60px}.audio-corner{position:absolute;top:6px;right:6px}.quiz-text-main{font-size:1.25rem;line-height:1.25;font-weight:700}.quiz-text-sub{font-size:.88rem;opacity:.8;margin-top:4px}.feedback-bar{position:fixed;bottom:0;left:0;right:0;padding:18px 24px;max-width:600px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top-left-radius:24px;border-top-right-radius:24px;box-shadow:0 -6px 24px #0000001a;z-index:100;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1) both}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.feedback-bar.correct{background:linear-gradient(135deg,#d4ffd6,#e8fff0)}.feedback-bar.wrong{background:linear-gradient(135deg,#ffe0e0,#fff0f0)}.feedback-icon{width:36px;height:36px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:800;box-shadow:var(--shadow-sm);flex-shrink:0}.feedback-text{flex:1;font-weight:700;font-size:1.1rem}.feedback-text.correct{color:var(--color-success-dark)}.feedback-text.wrong{color:var(--color-error-dark)}.feedback-answer{font-size:.85rem;font-weight:500;opacity:.8;margin-top:2px}.result-screen{padding:24px;text-align:center;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;animation:fadeIn .4s ease-out both}.result-emoji{font-size:5.5rem;line-height:1;display:block}.result-score-ring{width:110px;height:110px;border-radius:50%;background:conic-gradient(var(--color-success) var(--pct, 0%),#e5e5e5 0%);display:flex;align-items:center;justify-content:center;margin:10px auto;position:relative}.result-score-ring:before{content:"";position:absolute;inset:12px;background:#fff;border-radius:50%}.result-score-inner{position:relative;z-index:1;font-size:1.5rem;font-weight:800;color:var(--color-text-main)}.lesson-card{position:relative;border-radius:20px;width:140px;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 12px;text-align:center;cursor:pointer;border:none;transition:var(--transition);overflow:hidden}.lesson-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 60%);opacity:0;transition:opacity .3s}.lesson-card:hover:not(.locked):before{opacity:1}.lesson-card.active{background:var(--color-success);box-shadow:0 6px 0 var(--color-success-dark),var(--shadow-glow-green);color:#fff}.lesson-card.active:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 9px 0 var(--color-success-dark),var(--shadow-glow-green)}.lesson-card.completed{background:var(--color-warning);box-shadow:0 6px 0 var(--color-warning-dark);color:#fff}.lesson-card.completed:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 9px 0 var(--color-warning-dark)}.lesson-card.locked{background:#f0f0f0;box-shadow:0 6px #ddd;color:#bbb;cursor:default;opacity:.65}.lesson-card-icon{font-size:2.4rem;margin-bottom:8px}.lesson-card-title{font-weight:700;font-size:.95rem;line-height:1.2}.lesson-card-desc{font-size:.78rem;opacity:.85;margin-top:3px;line-height:1.3}.completion-badge{position:absolute;top:-8px;right:-8px;background:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0003;font-size:1rem;color:var(--color-success);font-weight:800}.lock-badge{position:absolute;top:8px;right:8px;background:#ffffffbf;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:.8rem}.stats-bar{margin:14px 16px 0;padding:12px 20px;background:linear-gradient(180deg,#fff,#f5fbff);border-radius:16px;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between}.stats-progress-text{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--color-success);font-size:1.05rem}.unlock-toggle{cursor:pointer;font-size:1.3rem;padding:6px 14px;border-radius:12px;border:none;color:#fff;display:flex;align-items:center;justify-content:center;transition:var(--transition);min-width:56px;font-family:var(--font-family)}.unlock-toggle.is-unlocked{background-color:var(--color-success);box-shadow:0 4px 0 var(--color-success-dark)}.unlock-toggle.is-locked{background-color:var(--color-error);box-shadow:0 4px 0 var(--color-error-dark)}.unlock-toggle:active{transform:translateY(3px);box-shadow:none!important}.dashboard-scroll-wrap{flex:1;overflow-y:auto;width:100%}.selector-wrap{padding:20px;overflow-y:auto;overflow-x:hidden;flex:1}.selector-title{margin-bottom:32px;font-family:var(--font-family-brand);letter-spacing:-.02em;font-size:clamp(1.35rem,2.6vw,1.95rem)}.selector-title-main{margin-bottom:40px}.selector-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px 10px;min-height:150px;border-radius:18px}.selector-card-title{font-size:1rem;font-weight:800;text-align:center;line-height:1.25}.selector-card-sub{font-size:.8rem;color:var(--color-text-sub);text-align:center;line-height:1.2}.selector-card .flag-icon{filter:saturate(1.05)}.lesson-path-wrap{padding:16px 16px 100px}.lesson-path-title{margin-bottom:24px}.lesson-path-rows{display:flex;flex-direction:column;gap:16px}.lesson-path-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.lesson-feature-card{padding:24px;border:2px solid #e5e5e5;display:flex;flex-direction:column;align-items:center;gap:14px}.lesson-copy-group{display:flex;flex-direction:column;align-items:center;gap:6px}.lesson-copy-title{display:flex;align-items:center;gap:10px}.lesson-term-main{font-size:2rem;font-weight:800;color:var(--color-info)}.lesson-sentence-main{font-size:1.45rem;font-weight:800;color:var(--color-info);line-height:1.3}.lesson-term-sub{font-size:.95rem;color:var(--color-text-sub);font-style:italic}.lesson-translation{font-size:1.3rem;color:var(--color-text-sub);font-weight:600}.lesson-sentence-translation{font-size:1.15rem;color:var(--color-text-sub);font-weight:600}.btn-audio{background:linear-gradient(180deg,#fff,#eaf7ff);border:1px solid rgba(53,183,243,.35);cursor:pointer;padding:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-info);border-radius:999px;box-shadow:0 2px 8px #116c9f2e;transition:transform .12s ease,box-shadow .2s ease,filter .2s ease}.btn-audio:hover{box-shadow:0 4px 12px #116c9f3d;filter:saturate(1.08)}.btn-audio:active{transform:scale(.9)}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:1024px){.app-container{margin:14px;height:calc(100vh - 122px);min-height:calc(100vh - 122px)}.selector-wrap{padding:14px}.selector-title{margin-bottom:20px;font-size:1.55rem}}@media(max-width:768px){#root{max-width:100%}.app-shell{gap:6px;padding:0}.brand-outside-logo{width:min(430px,94vw)}.brand-outside-icon{width:52px;height:52px}.brand-outside-text{font-size:1rem;letter-spacing:.1em}.app-container{margin:0;width:100%;max-width:100%;height:calc(100vh - 84px);min-height:calc(100vh - 84px);border-radius:0}.selector-wrap{padding:12px}.selector-title{margin-bottom:16px;font-size:1.35rem}.selector-card{min-height:132px;padding:12px 8px;border-radius:16px}.lesson-path-row{display:contents}.lesson-path-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;justify-items:center}.lesson-card{width:100%;max-width:170px;min-height:116px}}@media(max-width:420px){.brand-outside-logo{width:min(340px,96vw)}.brand-outside-icon{width:46px;height:46px}.brand-outside-text{font-size:.92rem;letter-spacing:.08em}.lang-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.selector-card{min-height:124px}.selector-card-title{font-size:.92rem}}
