@import"https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;600;700&display=swap";:root{--color-bg: #f7f7fb;--color-surface: #ffffff;--color-text: #1f2430;--color-muted: #6b7280;--color-primary: #3b5bfd;--color-primary-dark: #2841c9;--color-success: #1f9d55;--color-danger: #d9412f;--color-border: #e5e7eb;--radius: 12px;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text)}[dir=rtl] body{font-family:Vazirmatn,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button{font-family:inherit;cursor:pointer}.app-shell{display:flex;min-height:100vh;flex-direction:column}.app-main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:16px}.nav-bar{display:flex;align-items:center;gap:4px;padding:8px 16px;background:var(--color-surface);border-bottom:1px solid var(--color-border);overflow-x:auto;position:sticky;top:0;z-index:10}.nav-spacer{margin-inline-start:auto}.lang-select{padding:6px 10px;border-radius:8px;border:1px solid var(--color-border);background:#fff;font-size:13px;font-weight:600;font-family:inherit}.hint-toggle{background:none;border:1px dashed var(--color-border);border-radius:8px;padding:8px 14px;color:var(--color-muted);font-size:13px;font-weight:600;margin:12px 0}.hint-box{background:var(--color-bg);border-radius:8px;padding:10px 12px;margin:4px 0 12px}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fdecea;border:1px solid #f5c6c0;color:var(--color-danger);border-radius:10px;padding:12px 16px;margin-bottom:16px;font-size:14px}.connectivity-banner{background:#fff4e5;border-bottom:1px solid #f3d9a4;color:#8a5a00;text-align:center;font-size:13px;padding:6px 12px}.offline-badge{padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#fff4e5;color:#8a5a00;border:1px solid #f3d9a4}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f111a80;display:flex;align-items:center;justify-content:center;padding:16px;z-index:100}.modal-box{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:20px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-close{border:none;background:none;font-size:16px;color:var(--color-muted);padding:4px 8px;border-radius:8px}.modal-close:hover{background:var(--color-bg)}.form-field{margin-bottom:14px}.form-field label{display:block;font-weight:600;font-size:13px;margin-bottom:4px}.form-row{display:flex;gap:12px}.form-row>.form-field{flex:1}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.toolbar-spacer{flex:1}.vocab-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.letter-group-label{font-size:12px;font-weight:700;color:var(--color-muted);padding:12px 4px 4px}.vocab-row{display:flex;align-items:center;justify-content:space-between;padding:10px 4px;border-bottom:1px solid var(--color-border);cursor:pointer;gap:8px}.vocab-row:last-child{border-bottom:none}.vocab-row-main{min-width:0}.vocab-row-headword{font-weight:600}.vocab-row-translation{color:var(--color-muted);font-size:13px}.vocab-row-actions{display:flex;gap:4px;opacity:0;transition:opacity .1s ease}.vocab-row:hover .vocab-row-actions,.vocab-row:focus-within .vocab-row-actions{opacity:1}.icon-btn{border:none;background:none;font-size:15px;padding:6px 8px;border-radius:8px;color:var(--color-muted)}.icon-btn:hover{background:var(--color-bg)}.icon-btn.danger:hover{color:var(--color-danger)}[dir=rtl] .stat-box .value,[dir=rtl] .word-list-item{direction:rtl}.nav-link{padding:8px 14px;border-radius:999px;text-decoration:none;color:var(--color-muted);font-size:14px;font-weight:600;white-space:nowrap}.nav-link.active{background:var(--color-primary);color:#fff}.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:16px}.btn{border:none;border-radius:10px;padding:12px 18px;font-size:15px;font-weight:600;background:var(--color-primary);color:#fff;transition:background .15s ease}.btn:hover{background:var(--color-primary-dark)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.btn-block{width:100%}textarea,input[type=text]{width:100%;padding:12px;font-size:15px;border:1px solid var(--color-border);border-radius:8px;font-family:inherit}.rating-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:16px}.rating-btn{padding:10px 4px;border-radius:10px;border:1px solid var(--color-border);background:#fff;font-size:12px;font-weight:600;text-align:center}.rating-btn.very_easy{border-color:#1f9d55;color:#1f9d55}.rating-btn.easy{border-color:#63b562;color:#4a9349}.rating-btn.good{border-color:#c9a227;color:#a3830f}.rating-btn.bad{border-color:#e07a3f;color:#c8632a}.rating-btn.very_bad{border-color:#d9412f;color:#d9412f}.rating-btn.selected{color:#fff}.rating-btn.very_easy.selected{background:#1f9d55}.rating-btn.easy.selected{background:#63b562}.rating-btn.good.selected{background:#c9a227}.rating-btn.bad.selected{background:#e07a3f}.rating-btn.very_bad.selected{background:#d9412f}.rating-btn:disabled{opacity:.6;cursor:default}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--color-bg);color:var(--color-muted)}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}@media (min-width: 480px){.stat-grid{grid-template-columns:repeat(3,1fr)}}.stat-box{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;text-align:center}.stat-box .value{font-size:24px;font-weight:700}.stat-box .label{font-size:12px;color:var(--color-muted);margin-top:4px}.word-list-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--color-border)}.word-list-item:last-child{border-bottom:none}.center-text{text-align:center}.muted{color:var(--color-muted);font-size:14px}.feedback-correct{color:var(--color-success);font-weight:600}.feedback-incorrect{color:var(--color-danger);font-weight:600}
