@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";:root{font-family:Inter,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;--bg: #f5f7fa;--surface-1: #ffffff;--surface-2: #eef0f4;--surface-3: #e2e5eb;--border: rgba(0, 0, 0, .07);--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #9ca3af;--green: #00d26a;--green-glow: rgba(0, 210, 106, .25);--red: #ff4757;--red-glow: rgba(255, 71, 87, .25);--orange: #ffa502;--orange-glow: rgba(255, 165, 2, .25);--blue: #3b82f6;--transition: all .2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text-primary);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}#root{display:flex;flex-direction:column;height:100vh;max-width:540px;margin:0 auto;width:100%}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:4px}.screen{flex:1;overflow-y:auto;padding:1.5rem 1.5rem 6rem}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:540px;display:flex;justify-content:space-around;align-items:center;padding:.75rem 1rem;background:#ffffffbf;border-top:1px solid rgba(0,0,0,.07);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:100;box-shadow:0 -4px 24px #0000000f}.nav-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;color:var(--text-muted);font-size:.7rem;font-weight:600;cursor:pointer;padding:.5rem 1rem;border-radius:12px;transition:var(--transition);text-transform:uppercase;letter-spacing:.05em}.nav-btn .nav-icon{font-size:1.4rem}.nav-btn:hover{color:var(--text-secondary);background:var(--surface-1)}.nav-btn.active{color:var(--green)}.glass-card{background:var(--surface-1);border:1px solid var(--border);border-radius:20px;padding:1.5rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}button{font-family:Inter,sans-serif;cursor:pointer;border:none;transition:var(--transition)}.btn-primary{width:100%;padding:1.1rem;background:var(--green);color:#000;font-weight:800;font-size:1.1rem;border-radius:14px;box-shadow:0 0 24px var(--green-glow);text-transform:uppercase;letter-spacing:.08em}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 40px var(--green-glow)}.btn-primary:disabled{opacity:.4;box-shadow:none;transform:none}.btn-ghost{background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border);border-radius:10px;padding:.6rem 1rem;font-size:.85rem;font-weight:600}.btn-ghost:hover{background:var(--surface-3)}.action-buttons{display:flex;gap:.75rem;width:100%;margin-top:1.5rem}.action-btn{flex:1;padding:1rem 0;border-radius:14px;font-weight:800;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;display:flex;flex-direction:column;align-items:center;gap:4px}.action-btn .action-label{font-size:1.3rem}.action-btn-again{background:#ff475726;color:var(--red);border:1px solid rgba(255,71,87,.3)}.action-btn-again:hover{background:#ff475740}.action-btn-hard{background:#ffa50226;color:var(--orange);border:1px solid rgba(255,165,2,.3)}.action-btn-hard:hover{background:#ffa50240}.action-btn-good{background:#00d26a26;color:var(--green);border:1px solid rgba(0,210,106,.3)}.action-btn-good:hover{background:#00d26a40}.action-btn-easy{background:#6366f126;color:#6366f1;border:1px solid rgba(99,102,241,.3)}.action-btn-easy:hover{background:#6366f140}.tts-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:50%;width:36px;height:36px;font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);flex-shrink:0}.tts-btn:hover{background:var(--surface-3);transform:scale(1.1)}.flashcard-wrapper{position:relative;width:100%;aspect-ratio:3/4;max-height:55vh;cursor:pointer}.flashcard-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.flashcard-inner.flipped{transform:rotateY(180deg)}.flashcard-face{position:absolute;inset:0;backface-visibility:hidden;background:var(--surface-1);border:1px solid var(--border);border-radius:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;text-align:center}.flashcard-face-back{transform:rotateY(180deg)}.card-word{font-size:clamp(1.5rem,5vw,2.5rem);font-weight:800;line-height:1.2}.card-type-badge{margin-top:1rem;padding:4px 12px;border-radius:100px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;background:var(--surface-3);color:var(--text-muted)}.card-hint{margin-top:2rem;font-size:.8rem;color:var(--text-muted);display:flex;align-items:center;gap:6px}.card-answer{color:var(--green)}.type-exercise{width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem}.type-prompt{width:100%;background:var(--surface-1);border:1px solid var(--border);border-radius:24px;padding:2.5rem 2rem;text-align:center}.type-direction-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:1rem}.type-input-row{display:flex;gap:.75rem;width:100%}.type-input{flex:1;padding:1rem 1.25rem;background:var(--surface-2);border:2px solid var(--border);color:var(--text-primary);border-radius:14px;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:600;outline:none;transition:var(--transition)}.type-input:focus{border-color:var(--blue)}.type-input.input-correct{border-color:var(--green);background:#00d26a14}.type-input.input-warning{border-color:var(--orange);background:#ffa50214}.type-input.input-wrong{border-color:var(--red);background:#ff475714}.type-submit{padding:1rem 1.5rem;background:var(--surface-2);border:1px solid var(--border);color:var(--text-primary);border-radius:14px;font-weight:700;font-size:1rem}.type-submit:hover{background:var(--surface-3)}.feedback-banner{width:100%;padding:1rem 1.5rem;border-radius:14px;font-weight:600;font-size:.95rem;text-align:center;line-height:1.4}.feedback-correct{background:#00d26a1f;color:var(--green);border:1px solid rgba(0,210,106,.2)}.feedback-warning{background:#ffa5021f;color:var(--orange);border:1px solid rgba(255,165,2,.2)}.feedback-wrong{background:#ff47571f;color:var(--red);border:1px solid rgba(255,71,87,.2)}.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--surface-1);border:1px solid var(--border);border-radius:18px;padding:1.25rem}.stat-value{font-size:2.5rem;font-weight:900;line-height:1}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:6px}.due-value{color:var(--green)}.section-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1rem}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tag-chip{padding:6px 14px;border-radius:100px;font-size:.8rem;font-weight:600;background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.tag-chip.active{background:#00d26a26;border-color:#00d26a66;color:var(--green)}.tag-chip:hover{background:var(--surface-3)}.card-list{display:flex;flex-direction:column;gap:.75rem}.card-list-item{background:var(--surface-1);border:1px solid var(--border);border-radius:16px;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.card-item-words{display:flex;flex-direction:column;gap:4px}.card-item-es{font-weight:700;font-size:1rem}.card-item-fr{font-size:.85rem;color:var(--text-secondary)}.mastery-badge{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:52px}.mastery-ring{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;background:conic-gradient(var(--green) var(--pct),var(--surface-3) 0);position:relative}.mastery-ring:before{content:"";position:absolute;inset:5px;background:var(--surface-1);border-radius:50%}.mastery-text{position:relative;z-index:1}.form-field{margin-bottom:1.2rem}.form-label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.5rem}.form-input,.form-select,.form-textarea{width:100%;padding:.9rem 1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:.95rem;outline:none;transition:var(--transition)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--blue)}.form-textarea{resize:vertical;min-height:100px}.form-select option{background:var(--surface-2)}.session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.progress-bar-track{flex:1;height:4px;background:var(--surface-3);border-radius:4px;margin:0 1rem;overflow:hidden}.progress-bar-fill{height:100%;background:var(--green);border-radius:4px;transition:width .3s ease;box-shadow:0 0 8px var(--green-glow)}h1.page-title{font-size:1.4rem;font-weight:800;margin-bottom:.5rem}.subtitle{font-size:.85rem;color:var(--text-muted);margin-bottom:1.5rem}.divider{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.conj-card{width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem}.conj-header{width:100%;background:var(--surface-1);border:1px solid var(--border);border-radius:24px;padding:2.5rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.conj-verb{font-size:clamp(1.8rem,6vw,2.8rem);font-weight:900;color:var(--text-primary)}.conj-context{font-size:.9rem;font-weight:700;color:var(--blue);background:#3b82f61a;padding:4px 14px;border-radius:100px;letter-spacing:.04em}
