@import "https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&display=swap";*{box-sizing:border-box;margin:0;padding:0}html,body,#root{overscroll-behavior:none;height:100%;overflow:hidden}:root{--bg:#fffaf7;--surface:#fff;--surface-hover:#fff0e8;--border:#ffe0d0;--text:#4d3a3a;--text-secondary:#8c7575;--primary:#ffb4a2;--primary-dark:#ff8e73;--primary-light:#ffd4c7;--secondary:#e89cb5;--secondary-dark:#d46e92;--secondary-light:#f7c6d8;--accent:#fdd8a3;--accent-dark:#ffbe6e;--accent-light:#ffecc7;--danger:#d46e92;--danger-hover:#c05a7e;--danger-light:#f7c6d8;--success:#7bc67e;--success-hover:#5fb363;--success-light:#d4f0d5;--warning:#ffbe6e;--radius:16px;--radius-sm:10px;--shadow-sm:0 2px 8px #4d3a3a0f;--shadow-md:0 4px 16px #4d3a3a14;--shadow-lg:0 8px 32px #4d3a3a1f;--transition:.2s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg:#1c1517;--surface:#2a2023;--surface-hover:#352a2e;--border:#4a3a3e;--text:#f0e4e4;--text-secondary:#a89595;--primary:#ffb4a2;--primary-dark:#ff8e73;--primary-light:#3d2520;--secondary:#e89cb5;--secondary-dark:#d46e92;--secondary-light:#3d2030;--accent:#fdd8a3;--accent-dark:#ffbe6e;--accent-light:#3d3020;--danger:#ff7b95;--danger-hover:#ff5c7a;--danger-light:#3d2030;--success:#7bc67e;--success-hover:#5fb363;--success-light:#1d3d1e;--warning:#ffbe6e;--shadow-sm:0 2px 8px #0003;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 8px 32px #0006}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:var(--secondary-dark);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}.container{-webkit-overflow-scrolling:touch;max-width:600px;height:100%;margin:0 auto;padding:20px 16px;animation:.3s fadeIn;overflow:hidden auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}70%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.btn{border-radius:var(--radius);cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:15px;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg, var(--danger), var(--danger-hover));color:#fff}.btn-danger:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg, var(--success), var(--success-hover));color:#fff}.btn-success:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--text);border:2px solid var(--border);box-shadow:none}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--primary)}.btn-sm{border-radius:var(--radius-sm);padding:8px 16px;font-size:13px}.btn-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;display:flex;padding:0!important}.btn-block{width:100%}.form-group{margin-bottom:16px}.form-group label{color:var(--text-secondary);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.input{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);transition:all var(--transition);box-shadow:var(--shadow-sm);outline:none;padding:12px 16px;font-family:inherit;font-size:15px}.input:focus{border-color:var(--primary-dark);box-shadow:0 0 0 3px var(--primary-light)}.input-error{border-color:var(--danger)}.input-error:focus{box-shadow:0 0 0 3px var(--danger-light)}textarea.input{resize:vertical;min-height:120px;font-family:Nunito Mono,monospace}select.input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238C7575' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.error-msg{color:var(--danger);margin-top:8px;font-size:13px;font-weight:600}.header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.header h1{font-size:24px;font-weight:800}.card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm);margin-bottom:12px;padding:16px}.card:hover{border-color:var(--primary-dark);box-shadow:var(--shadow-md);transform:translateY(-2px)}.progress-bar{background:var(--border);border-radius:4px;height:8px;margin:8px 0;display:flex;overflow:hidden}.progress-bar .known{background:linear-gradient(90deg, var(--primary), var(--primary-dark));transition:flex .5s}.progress-bar .learning{background:linear-gradient(90deg, var(--accent), var(--accent-dark));transition:flex .5s}.stats{color:var(--text-secondary);font-size:13px;font-weight:600}.flashcard-container{perspective:1000px;cursor:pointer;width:100%;height:280px;margin:20px 0}.flashcard-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.flashcard-container.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{backface-visibility:hidden;background:linear-gradient(145deg, var(--surface), var(--primary-light));border:2px solid var(--border);text-align:center;word-break:break-word;width:100%;height:100%;box-shadow:var(--shadow-lg);border-radius:20px;justify-content:center;align-items:center;padding:24px;font-size:28px;font-weight:700;display:flex;position:absolute}.flashcard-back{background:linear-gradient(145deg, var(--accent-light), var(--surface));transform:rotateY(180deg)}.test-option{border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);text-align:center;background:var(--surface);box-shadow:var(--shadow-sm);margin-bottom:10px;padding:16px;font-size:16px;font-weight:600}.test-option:hover{border-color:var(--primary-dark);background:var(--surface-hover);transform:translateY(-1px)}.test-option.correct{border-color:var(--success);background:var(--success-light);animation:.3s popIn}.test-option.wrong{border-color:var(--danger);background:var(--danger-light);animation:.4s shake}.test-option.disabled{pointer-events:none}.results-score{text-align:center;color:var(--primary-dark);margin:20px 0;font-size:56px;font-weight:800}.result-item{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:all var(--transition);justify-content:space-between;margin-bottom:8px;padding:12px 14px;display:flex}.result-item.wrong{border-left:4px solid var(--danger)}.result-item.right{border-left:4px solid var(--success)}.sticker-reaction{justify-content:center;margin:16px 0;animation:.4s cubic-bezier(.34,1.56,.64,1) popIn;display:flex}.sticker-reaction img{object-fit:contain;filter:drop-shadow(0 4px 12px #00000026);width:120px;height:120px}.sticker-reaction.large img{width:160px;height:160px}.word-item{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:all var(--transition);border:1px solid #0000;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 14px;display:flex}.word-item:hover{border-color:var(--border);transform:translate(4px)}.word-item .word{font-weight:700}.word-item .translation{color:var(--text-secondary);font-weight:500}.word-item .delete-btn{color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:20px}.word-item .delete-btn:hover{color:var(--danger);background:var(--danger-light)}.bulk-line{padding:4px 0;font-size:14px}.bulk-line.invalid{border-left:3px solid var(--danger);background:var(--danger-light);border-radius:0 4px 4px 0;padding-left:8px}.bulk-line.valid{border-left:3px solid var(--success);background:var(--success-light);border-radius:0 4px 4px 0;padding-left:8px}.btn-row{gap:12px;margin:16px 0;display:flex}.btn-row .btn{flex:1}.direction-toggle{text-align:center;margin:12px 0}.counter{text-align:center;color:var(--text-secondary);margin-bottom:12px;font-size:14px;font-weight:700}.auth-page{background:linear-gradient(135deg, var(--bg), var(--primary-light));justify-content:center;align-items:center;height:100%;display:flex;overflow-y:auto}.auth-card{background:var(--surface);border:2px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow-lg);border-radius:20px;padding:36px;animation:.4s slideUp}.auth-card h1{text-align:center;color:var(--primary-dark);margin-bottom:24px;font-weight:800}.auth-card .switch{text-align:center;color:var(--text-secondary);margin-top:16px;font-size:14px}.loader-wrap{justify-content:center;align-items:center;height:100%;display:flex}.loader{border:4px solid var(--border);border-top-color:var(--primary-dark);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#4d3a3a66;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:2px solid var(--border);width:90%;max-width:400px;box-shadow:var(--shadow-lg);border-radius:20px;padding:28px;animation:.3s slideUp}.modal h2{margin-bottom:16px;font-weight:800}.tabs{gap:0;margin-bottom:16px;display:flex}.tab{cursor:pointer;background:var(--surface);border:2px solid var(--border);color:var(--text-secondary);transition:all var(--transition);flex:1;justify-content:center;align-items:center;gap:4px;padding:10px;font-size:14px;font-weight:700;display:flex}.tab:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.tab:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.tab.active{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;border-color:var(--primary-dark)}.share-code{text-align:center;letter-spacing:6px;background:var(--accent-light);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow-sm);margin:12px 0;padding:16px;font-size:28px;font-weight:800}.lang-switcher{align-items:center;gap:2px;display:flex}.lang-btn{border:1.5px solid var(--border);background:var(--surface);width:36px;height:32px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);border-radius:6px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:11px;font-weight:700;display:inline-flex}.lang-btn:hover{border-color:var(--primary)}.lang-btn.active{background:var(--primary);color:#fff;border-color:var(--primary-dark)}.settings-dropdown{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:50;min-width:200px;padding:8px;animation:.15s slideUp;position:absolute;top:calc(100% + 8px);right:0}.settings-row{border-radius:var(--radius-sm);transition:background var(--transition);align-items:center;gap:10px;padding:8px 10px;display:flex}.settings-row:hover{background:var(--surface-hover)}.settings-row-danger{color:var(--danger)}.settings-row-danger:hover{background:var(--danger-light)}.settings-label{color:var(--text-secondary);align-items:center;display:flex}.settings-row-danger .settings-label{color:var(--danger)}.speak-btn{color:var(--primary-dark);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:6px;display:inline-flex}.speak-btn:hover{background:var(--primary-light);color:var(--primary-dark)}.speak-btn:active{transform:scale(.9)}.toggle-row{background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 12px;display:flex}.toggle-row span{font-size:14px;font-weight:600}.toggle{background:var(--border);cursor:pointer;width:44px;height:24px;transition:background var(--transition);border:none;border-radius:12px;position:relative}.toggle.on{background:var(--primary-dark)}.toggle:after{content:"";width:20px;height:20px;transition:transform var(--transition);box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.toggle.on:after{transform:translate(20px)}.empty-state{text-align:center;color:var(--text-secondary);padding:48px 20px}.empty-state img{opacity:.8;width:120px;margin-bottom:16px}.empty-state p{font-size:16px;font-weight:600}@keyframes confetti{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-40px)scale(.5)}}.btn,.tab{min-height:44px}.test-option{min-height:48px}.lang-btn{min-height:36px}.word-item .delete-btn{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}@media (width<=768px){.container{padding:16px 14px}.header h1{font-size:20px}.flashcard-container{height:240px}}@media (width<=480px){.container{padding:14px 12px}.auth-page{padding:16px}.auth-card{border-radius:16px;padding:24px 18px}.flashcard-container{height:220px}.flashcard-front,.flashcard-back{border-radius:14px;padding:16px;font-size:22px}.results-score{font-size:40px}.sticker-reaction img{width:100px;height:100px}.sticker-reaction.large img{width:130px;height:130px}.btn-row{gap:8px}.btn{padding:12px 16px;font-size:14px}.modal{border-radius:16px;padding:20px}.share-code{letter-spacing:4px;font-size:22px}.header{margin-bottom:16px}.lang-switcher{gap:2px}.lang-btn{padding:4px 8px;font-size:11px}}@supports (padding:env(safe-area-inset-top)){.container{padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom))}.auth-page{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
