:root{--bg-color:#0b0f19;--card-bg:#161c2da6;--card-border:#ffffff14;--text-main:#f8fafc;--text-secondary:#94a3b8;--primary:#3b82f6;--primary-hover:#60a5fa;--primary-glow:#3b82f666;--secondary:#1e293b;--secondary-hover:#334155;--success:#10b981;--success-hover:#34d399;--danger:#ef4444;--danger-hover:#f87171;--warning:#f59e0b;--warning-hover:#fbbf24}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);min-height:100dvh;min-height:var(--tg-viewport-height,100vh);height:var(--tg-viewport-height,100vh);background-image:radial-gradient(circle at 15%,#3b82f626 0%,#0000 50%),radial-gradient(circle at 85% 30%,#10b9811a 0%,#0000 50%);background-attachment:fixed;flex-direction:column;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;overflow:hidden}#root{flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}button{-webkit-tap-highlight-color:transparent;outline:none;font-family:inherit}button:focus{outline:none}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 24px;font-family:Outfit,sans-serif;font-size:16px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 14px var(--primary-glow)}.btn-secondary{background:var(--secondary);color:var(--text-main);border:1px solid var(--card-border)}.btn-success{background:var(--success);color:#fff;box-shadow:0 4px 14px #10b9814d}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 4px 14px #ef44444d}.btn-warning{background:var(--warning);color:#fff;box-shadow:0 4px 14px #f59e0b4d}@media (hover:hover){.btn-primary:hover{background:var(--primary-hover);box-shadow:0 6px 20px var(--primary-glow)}.btn-secondary:hover{background:var(--secondary-hover)}.btn-success:hover{background:var(--success-hover)}.btn-danger:hover{background:var(--danger-hover)}.btn-warning:hover{background:var(--warning-hover)}}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.app-container{box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:600px;height:100%;margin:0 auto;padding:16px;display:flex;overflow:hidden}.header-bar{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:14px;animation:.5s ease-out fadeIn;display:flex}.brand-group{align-items:center;gap:12px;display:flex}.brand-logo{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;font-size:28px;display:flex;box-shadow:0 4px 14px #00000026}.brand-info{flex-direction:column;display:flex}.brand-title{background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;font-size:22px;font-weight:800;line-height:1.2}.user-pill{color:var(--text-secondary);font-size:12px;font-weight:400}.user-pill strong{color:var(--text-main);font-weight:600}.user-pill.warning{color:var(--warning)}.glass-card{background:var(--card-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border);border-radius:20px;flex-direction:column;flex:1;min-height:0;padding:20px 18px;animation:.6s cubic-bezier(.16,1,.3,1) both slideUp;display:flex;overflow-y:auto;box-shadow:0 12px 40px #00000040}.mode-selector{flex-direction:column;flex-shrink:0;gap:12px;margin-top:auto;padding-top:12px;display:flex}.loading-container{color:var(--text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.spinner{border:3px solid #ffffff1a;border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:1s ease-in-out infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.finish-card{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:32px 16px;display:flex}.finish-icon{margin-bottom:16px;font-size:56px;animation:2s infinite bounce}.finish-stat-box{background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;align-items:center;min-width:110px;padding:14px 20px;display:flex}.finish-stat-box .stat-num{color:#60a5fa;font-size:22px;font-weight:800}.finish-stat-box .stat-label{color:var(--text-secondary);margin-top:2px;font-size:11px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.progress-container{margin-bottom:20px;animation:.5s ease-out fadeIn}.progress-text{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;display:flex}.progress-label{align-items:center;gap:6px;font-weight:500;display:flex}.progress-dot{background:#60a5fa;border-radius:50%;width:8px;height:8px;box-shadow:0 0 10px #60a5fa}.progress-stats strong{color:var(--text-main)}.progress-percent{opacity:.7;font-size:12px}.progress-track{background:#ffffff0f;border:1px solid #ffffff0d;border-radius:10px;width:100%;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:10px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1);box-shadow:0 0 12px #60a5fa80}.toast-container{z-index:1000;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{color:#fff;-webkit-backdrop-filter:blur(8px);white-space:nowrap;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:500;box-shadow:0 8px 24px #0000004d}.toast-success{background:#10b981e6;border:1px solid #10b98166}.toast-error{background:#ef4444e6;border:1px solid #ef444466}.toast-enter{animation:.3s cubic-bezier(.16,1,.3,1) forwards toastSlideUp}.toast-exit{animation:.3s cubic-bezier(.16,1,.3,1) forwards toastSlideDown}@keyframes toastSlideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastSlideDown{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(20px)scale(.95)}}.skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a 37%,#ffffff0d 63%) 0 0/400% 100%;border-radius:8px;animation:1.4s infinite skeleton-loading}.skeleton-title{border-radius:12px;width:60%;height:32px;margin:0 auto 16px}.skeleton-text{width:80%;height:18px;margin:0 auto 12px}.skeleton-btn{border-radius:12px;width:100%;height:48px;margin-top:auto}@keyframes skeleton-loading{0%{background-position:100%}to{background-position:0}}.btn-back{color:var(--primary);cursor:pointer;background:0 0;border:none;margin-left:-8px;padding:8px;font-family:Outfit,sans-serif;font-size:15px;font-weight:500;transition:opacity .2s;position:absolute;top:6px;left:0}.btn-back:hover{opacity:.8}.btn-quiz-undo{color:#fbbf24bf;cursor:pointer;-webkit-backdrop-filter:blur(6px);background:#f59e0b14;border:1px solid #f59e0b33;border-radius:20px;align-items:center;gap:5px;padding:4px 10px 4px 8px;font-family:inherit;font-size:12px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);animation:.25s ease-out fadeIn;display:inline-flex}.btn-quiz-undo svg{flex-shrink:0;transition:transform .25s cubic-bezier(.4,0,.2,1)}.btn-quiz-undo:hover{color:#fbbf24;background:#f59e0b2e;border-color:#f59e0b66;transform:scale(1.04)}.btn-quiz-undo:hover svg{transform:rotate(-20deg)}.btn-quiz-undo:active{transform:scale(.95)}.lesson-badge{color:#93c5fd;letter-spacing:.3px;background:#60a5fa26;border:1px solid #60a5fa4d;border-radius:20px;padding:4px 12px;font-size:13px;font-weight:500;display:inline-block}.btn-progress-header{color:var(--text-main);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s;display:flex;position:relative}.btn-progress-header:hover{background:#ffffff1f;border-color:#fff3}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{flex-direction:column;width:100%;max-width:520px;max-height:90vh;padding:24px;display:flex;overflow:hidden}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-header h2{font-size:20px;font-weight:600}.btn-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:20px}.modal-body{flex-direction:column;flex:1;gap:16px;padding-right:4px;display:flex;overflow-y:auto}.overall-stats-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;padding:14px 16px}.sections-list{flex-direction:column;gap:10px;display:flex}.section-accordion{background:#ffffff08;border:1px solid #ffffff14;border-radius:14px;transition:border-color .2s;overflow:hidden}.section-accordion.completed{border-color:#4ade804d}.section-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff05;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.section-title-group{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.accordion-icon{color:var(--text-secondary);font-size:10px}.section-badge{color:var(--text-secondary);font-size:12px;font-weight:400}.btn-toggle-section{color:var(--text-secondary);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;padding:4px 10px;font-size:12px;transition:all .2s}.btn-toggle-section.active{color:#4ade80;background:#4ade8033;border-color:#4ade8066}.modules-list{border-top:1px solid #ffffff0d;flex-direction:column;gap:8px;padding:8px 14px 12px;display:flex}.module-item{background:#ffffff05;border-radius:8px;justify-content:space-between;align-items:center;padding:6px 8px;display:flex}.module-info{flex-direction:column;gap:2px;display:flex}.module-name{font-size:14px;font-weight:500}.module-count{color:var(--text-secondary);font-size:11px}.btn-toggle-module{color:var(--text-secondary);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;padding:4px 10px;font-size:12px;transition:all .2s}.btn-toggle-module.active{color:#4ade80;background:#4ade8033;border-color:#4ade8066}.modal-footer{border-top:1px solid #ffffff14;align-items:center;gap:12px;margin-top:16px;padding-top:16px;display:flex}.btn-reset-danger{color:#f87171;cursor:pointer;white-space:nowrap;background:#ef44441a;border:1px solid #ef44444d;border-radius:12px;align-items:center;gap:6px;height:44px;padding:0 16px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.btn-reset-danger:hover:not(:disabled){background:#ef444433;border-color:#ef444473}.btn-modal-done{border-radius:12px;flex:1;height:44px;padding:0 20px;font-size:14px;font-weight:600}.settings-slider{appearance:none;cursor:pointer;background:#ffffff14;border-radius:6px;outline:none;width:100%;height:6px;transition:background .2s}.settings-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:linear-gradient(135deg,#60a5fa,#8b5cf6);border-radius:50%;width:22px;height:22px;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #60a5fa80}.settings-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 4px 16px #60a5fab3}.settings-slider::-moz-range-thumb{cursor:pointer;background:linear-gradient(135deg,#60a5fa,#8b5cf6);border:none;border-radius:50%;width:22px;height:22px;box-shadow:0 2px 8px #60a5fa80}.quiz-card-header{flex-shrink:0;justify-content:space-between;align-items:center;width:100%;margin-bottom:12px;display:flex}.quiz-card-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;padding:8px 0;display:flex;overflow-y:auto}.quiz-prompt-title{color:var(--text-main);letter-spacing:-.3px;margin-bottom:8px;font-size:30px;font-weight:700;line-height:1.3}.quiz-prompt-sub{color:var(--text-secondary);font-size:15px;font-weight:400}.quiz-answer-container{flex-direction:column;align-items:center;gap:12px;width:100%;animation:.3s ease-out forwards fadeIn;display:flex}.quiz-greek-word-row{justify-content:center;align-items:center;gap:10px;display:flex}.quiz-greek-word{color:#60a5fa;letter-spacing:-.3px;font-size:30px;font-weight:700;line-height:1.3}.quiz-russian-trans{color:var(--text-secondary);font-size:16px;font-weight:500}.quiz-example-card{text-align:left;background:#ffffff08;border:1px solid #ffffff12;border-left:3px solid #60a5fa;border-radius:14px;width:100%;margin-top:8px;padding:14px 16px;box-shadow:0 4px 16px #0000001f}.quiz-example-label{color:#60a5fa;align-items:center;gap:6px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.quiz-example-greek{color:var(--text-main);margin-bottom:4px;font-size:15px;font-weight:500;line-height:1.5}.quiz-example-russian{color:var(--text-secondary);font-size:14px;font-weight:400;line-height:1.4}.rating-buttons-group{gap:10px;width:100%;display:flex}.btn-rating{cursor:pointer;border:1px solid #0000;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 10px;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.btn-rating-hard{color:#f87171;background:#ef44441f;border-color:#ef44444d}.btn-rating-normal{color:#fbbf24;background:#f59e0b1f;border-color:#f59e0b4d}.btn-rating-easy{color:#34d399;background:#10b9811f;border-color:#10b9814d}@media (hover:hover){.btn-rating-hard:hover:not(:disabled){background:#ef444440;transform:translateY(-2px)}.btn-rating-normal:hover:not(:disabled){background:#f59e0b40;transform:translateY(-2px)}.btn-rating-easy:hover:not(:disabled){background:#10b98140;transform:translateY(-2px)}}.search-page-card{gap:14px}.search-page-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.search-input-wrapper{width:100%;position:relative}.search-input-field{border:1px solid var(--card-border);width:100%;color:var(--text-main);box-sizing:border-box;background:#ffffff0d;border-radius:12px;outline:none;padding:12px 40px 12px 16px;font-size:16px;transition:all .2s}.search-input-field:focus{background:#ffffff17;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.search-clear-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.search-stats-bar{color:var(--text-secondary);padding:0 4px;font-size:13px;font-weight:500}.search-results-list{flex-direction:column;flex:1;gap:12px;padding-right:4px;display:flex;overflow-y:auto}.search-word-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;gap:6px;padding:14px 16px;transition:transform .2s,border-color .2s;display:flex}@media (hover:hover){.search-word-card:hover{border-color:#60a5fa4d;transform:translateY(-2px)}}.search-word-top{justify-content:space-between;align-items:center;display:flex}.search-word-greek{color:#60a5fa;align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.audio-speaker-btn{cursor:pointer;opacity:.7;background:0 0;border:none;padding:2px 4px;font-size:16px;transition:opacity .2s,transform .1s}.audio-speaker-btn:hover{opacity:1;transform:scale(1.15)}.audio-speaker-btn.small{font-size:13px}.search-lesson-badge{color:#c084fc;background:#a78bfa26;border:1px solid #a78bfa40;border-radius:8px;padding:3px 8px;font-size:11px;font-weight:600}.search-word-russian{color:var(--text-main);font-size:15px;font-weight:500}.search-word-sentences{border-top:1px dashed #ffffff1a;flex-direction:column;gap:6px;margin-top:6px;padding-top:8px;display:flex}.search-sentence-item{background:#00000026;border-radius:8px;padding:8px 10px;font-size:13px}.search-sentence-greek{color:#93c5fd;align-items:center;gap:6px;font-weight:500;display:flex}.search-sentence-russian{color:var(--text-secondary);margin-top:2px}.search-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}
