@import "https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@300;400;500;600;700;800&family=Noto+Sans+Bengali:wght@300;400;500;600;700&display=swap";.navbar{border-bottom:1px solid var(--border-color);z-index:100;box-shadow:var(--shadow-sm);background:#fff;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;gap:16px;max-width:900px;height:60px;margin:0 auto;padding:0 24px;display:flex}.navbar-brand{align-items:center;gap:8px;font-size:1.1rem;font-weight:700;display:flex}.brand-icon{font-size:1.4rem}.brand-text{color:var(--accent-primary);font-weight:800}.navbar-links{gap:4px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast);padding:8px 16px;font-size:.9rem;font-weight:500}.nav-link:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-link.active{color:var(--accent-primary);background:#1a527614;font-weight:600}@media (width<=640px){.navbar-inner{padding:0 12px}.nav-link{padding:6px 10px;font-size:.8rem}}.landing-page{background:var(--bg-primary);flex-direction:column;min-height:100vh;display:flex}.landing-nav{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:100;box-shadow:var(--shadow-sm);position:sticky;top:0}.landing-nav-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1000px;height:60px;margin:0 auto;padding:0 24px;display:flex}.landing-brand{flex-shrink:0;align-items:center;gap:8px;text-decoration:none;display:flex}.landing-brand-icon{font-size:1.4rem;line-height:1}.landing-brand-name{color:var(--accent-primary);letter-spacing:-.3px;font-size:1.15rem;font-weight:800;line-height:1}.landing-nav-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.landing-nav-btn{border-radius:var(--radius-sm);white-space:nowrap;padding:8px 16px;font-size:.9rem;font-weight:600;line-height:1}.landing-btn-ghost{color:var(--text-secondary);background:0 0}.landing-btn-ghost:hover{color:var(--text-primary);background:var(--bg-hover)}.landing-btn-primary{background:var(--accent-primary);color:#fff}.landing-btn-primary:hover{background:var(--accent-primary-hover)}.landing-hero{text-align:center;flex-direction:column;flex:1;align-items:center;width:100%;max-width:900px;margin:0 auto;padding:50px 24px 40px;display:flex}.hero-badge{border-radius:var(--radius-full);color:var(--accent-primary);background:#1a527614;border:1px solid #1a527633;align-items:center;gap:8px;margin-bottom:20px;padding:6px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.hero-title{color:var(--text-primary);letter-spacing:-.5px;margin-bottom:16px;font-size:2.5rem;font-weight:800;line-height:1.2}.hero-title .highlight{color:var(--accent-primary)}.hero-subtitle{color:var(--text-secondary);max-width:650px;margin-bottom:32px;font-size:1.1rem;line-height:1.6}.hero-cta{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;width:100%;margin-bottom:44px;display:flex}.hero-btn{border-radius:var(--radius-md);text-align:center;min-width:150px;padding:13px 30px;font-size:1rem;font-weight:700}.hero-btn-primary{background:var(--accent-primary);color:#fff;border:1.5px solid var(--accent-primary);box-shadow:var(--shadow-md)}.hero-btn-primary:hover{background:var(--accent-primary-hover);border-color:var(--accent-primary-hover);color:#fff}.hero-btn-secondary{background:var(--bg-secondary);color:var(--accent-primary);border:1.5px solid var(--border-color)}.hero-btn-secondary:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.sample-card-wrapper{width:100%;max-width:420px;margin-bottom:50px}.sample-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:8px;padding:24px 20px;display:flex}.sample-tag{text-transform:uppercase;color:var(--accent-success);border-radius:var(--radius-full);background:#1e84491a;padding:4px 10px;font-size:.75rem;font-weight:700}.sample-english{color:var(--accent-primary);font-size:1.6rem;font-weight:800}.sample-phonetic{color:var(--accent-secondary);font-size:.95rem;font-style:italic}.sample-divider{background:var(--accent-orange);width:48px;height:2px;margin:4px 0}.sample-bangla{color:var(--text-primary);font-size:1.2rem;font-weight:700}.sample-example{color:var(--text-secondary);margin-top:4px;font-size:.85rem;font-style:italic}.features-grid{text-align:left;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;width:100%;max-width:900px;margin-bottom:50px;display:grid}.feature-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), border-color var(--transition-fast);padding:22px}.feature-card:hover{border-color:var(--accent-secondary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.feature-icon{margin-bottom:10px;font-size:1.8rem}.feature-card h3{color:var(--accent-primary);margin-bottom:6px;font-size:1.05rem;font-weight:700}.feature-card p{color:var(--text-secondary);font-size:.88rem;line-height:1.5}.landing-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);text-align:center;color:var(--text-muted);padding:18px 24px;font-size:.85rem}@media (width<=640px){.landing-nav-inner{gap:8px;height:56px;padding:0 12px}.landing-brand{gap:6px}.landing-brand-icon{font-size:1.25rem}.landing-brand-name{font-size:1.05rem}.landing-nav-actions{gap:6px}.landing-nav-btn{padding:6px 12px;font-size:.82rem}.landing-hero{padding:36px 16px 30px}.hero-title{font-size:1.85rem}.hero-subtitle{margin-bottom:24px;font-size:.95rem}.hero-cta{flex-direction:column;gap:10px;width:100%;max-width:320px;margin-bottom:36px}.hero-btn{width:100%;padding:12px 20px}.features-grid{grid-template-columns:1fr}}@media (width<=360px){.landing-nav-inner{padding:0 8px}.landing-brand-name{font-size:.95rem}.landing-nav-btn{padding:5px 8px;font-size:.78rem}}.onboarding-card{text-align:center;width:100%;max-width:520px;padding:48px 40px}.onboarding-icon{margin-bottom:12px;font-size:3rem}.onboarding-card h1{color:var(--accent-primary);margin-bottom:8px;font-size:1.8rem;font-weight:800}.word-options{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin:32px 0;display:grid}.word-option{border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);font-family:var(--font-en);background:#fff;flex-direction:column;align-items:center;gap:4px;padding:20px 12px;display:flex}.word-option:hover{border-color:var(--accent-primary);background:#1a527608}.word-option.selected{border-color:var(--accent-primary);box-shadow:var(--shadow-md);background:#1a527614}.word-option-count{color:var(--text-primary);font-size:1.5rem;font-weight:800}.word-option.selected .word-option-count{color:var(--accent-primary)}.word-option-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.onboarding-submit{width:100%;padding:16px;font-size:1.1rem}.swipe-container{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:24px;padding:20px;display:flex}.swipe-progress-text{color:var(--text-muted);letter-spacing:1px;font-size:.9rem;font-weight:600}.swipe-hints{justify-content:space-between;width:100%;max-width:380px;display:flex}.hint{border-radius:var(--radius-full);opacity:.3;transition:opacity var(--transition-fast);padding:6px 14px;font-size:.85rem;font-weight:600}.hint.active{opacity:1}.hint-left{color:var(--accent-success);background:#1e84491a}.hint-right{color:var(--accent-danger);background:#c0392b1a}.swipe-card{text-align:center;will-change:transform, opacity;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:380px;min-height:320px;padding:36px 32px;display:flex}.swipe-card.glow-green{box-shadow:0 0 0 2px var(--accent-success), var(--shadow-md);border-color:var(--accent-success)}.swipe-card.glow-red{box-shadow:0 0 0 2px var(--accent-danger), var(--shadow-md);border-color:var(--accent-danger)}.swipe-card-category{margin-bottom:4px}.swipe-card-english{color:var(--accent-primary);font-size:2rem;font-weight:800;line-height:1.2}.swipe-card-phonetic{color:var(--accent-secondary);font-size:1rem;font-style:italic}.swipe-card-divider{background:var(--accent-orange);border-radius:2px;width:60px;height:2px;margin:8px 0}.swipe-card-bangla{color:var(--text-primary);font-size:1.3rem;font-weight:600;line-height:1.5}.swipe-card-bangla-phonetic{color:var(--text-secondary);font-size:.95rem}.swipe-buttons{gap:16px;margin-top:8px;display:flex}.swipe-btn{min-width:140px;padding:14px 24px;font-size:1rem}@media (width<=480px){.swipe-card{min-height:280px;padding:28px 20px}.swipe-card-english{font-size:1.6rem}.swipe-btn{min-width:110px;padding:12px 16px;font-size:.9rem}}.progress-bar-wrapper{align-items:center;gap:12px;width:100%;display:flex}.progress-label{color:var(--text-secondary);white-space:nowrap;min-width:80px;font-size:.85rem;font-weight:500}.progress-track{border-radius:var(--radius-full);border:1px solid var(--border-color);background:#e8ebf0;flex:1;height:10px;overflow:hidden}.progress-fill{background:var(--accent-success);border-radius:var(--radius-full);min-width:2px;height:100%;transition:width .5s}.progress-text{color:var(--accent-primary);text-align:right;min-width:40px;font-size:.85rem;font-weight:700}.swipe-page{flex-direction:column;align-items:center;padding-top:32px;display:flex}.loading-state,.error-state,.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:400px;display:flex}.spinner{border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-icon{margin-bottom:8px;font-size:4rem}.empty-state h2{color:var(--accent-success);font-size:1.5rem;font-weight:800}.empty-state p{color:var(--text-secondary);max-width:400px}.session-done-actions{gap:12px;margin-top:8px;display:flex}.word-detail{transition:all var(--transition-base);margin-bottom:12px;padding:20px}.word-detail:hover{border-color:var(--accent-secondary);box-shadow:var(--shadow-md)}.word-detail-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.word-detail-english{color:var(--accent-primary);font-size:1.25rem;font-weight:700}.word-detail-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.word-detail-field{flex-direction:column;gap:4px;display:flex}.word-detail-field.full-width{grid-column:1/-1}.field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.field-value{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.field-value.phonetic{color:var(--accent-secondary);font-style:italic}.field-value.example{color:var(--accent-orange);font-style:italic}@media (width<=480px){.word-detail-grid{grid-template-columns:1fr}}.review-header{margin-bottom:24px}.review-subtitle{color:var(--text-secondary);font-size:.95rem}.review-list{flex-direction:column;gap:8px;margin-bottom:32px;display:flex}.review-actions{justify-content:center;gap:12px;padding:16px 0;display:flex}.history-group{margin-bottom:16px;overflow:hidden}.history-group-header{width:100%;color:var(--text-primary);cursor:pointer;font-family:var(--font-en);transition:background var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;padding:20px;display:flex}.history-group-header:hover{background:var(--bg-hover)}.history-group-info{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.history-group-date{font-size:1.05rem;font-weight:700}.history-group-stats{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.history-group-total{color:var(--text-muted);font-size:.8rem}.history-chevron{color:var(--text-muted);transition:transform var(--transition-base);font-size:1.2rem}.history-chevron.expanded{transform:rotate(90deg)}.history-group-words{flex-direction:column;gap:8px;padding:0 16px 16px;animation:.3s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.history-empty{text-align:center;min-height:300px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.history-empty h3{color:var(--text-primary);font-size:1.2rem}.history-summary{color:var(--text-secondary);margin-bottom:20px;font-size:.95rem}.history-list{flex-direction:column;display:flex}.dashboard-header{margin-bottom:28px}.dashboard-greeting{color:var(--text-secondary);margin-top:4px;font-size:1rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:24px;display:grid}.stat-card{transition:all var(--transition-base);align-items:center;gap:14px;padding:20px;display:flex}.stat-card:hover{border-color:var(--accent-secondary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{font-size:1.8rem}.stat-info{flex-direction:column;display:flex}.stat-value{color:var(--accent-primary);font-size:1.4rem;font-weight:800}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}.progress-section{margin-bottom:16px;padding:24px}.progress-section h3{margin-bottom:16px;font-size:1rem;font-weight:700}.progress-detail{color:var(--text-muted);margin-top:8px;font-size:.85rem}.goal-section{margin-bottom:24px;padding:24px}.goal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.goal-header h3{font-size:1rem;font-weight:700}.goal-current{color:var(--text-secondary);font-size:1.1rem}.goal-options{flex-wrap:wrap;gap:8px;display:flex}.goal-option{border:1.5px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-en);cursor:pointer;transition:all var(--transition-fast);background:#fff;padding:10px 18px;font-size:.95rem;font-weight:600}.goal-option:hover{border-color:var(--accent-primary);color:var(--text-primary)}.goal-option.active{border-color:var(--accent-primary);color:var(--accent-primary);background:#1a527614}.dashboard-actions{justify-content:center;gap:12px;padding-bottom:32px;display:flex}@media (width<=480px){.stats-grid{grid-template-columns:1fr 1fr}.dashboard-actions{flex-direction:column}}:root{--bg-primary:#f7f8fa;--bg-secondary:#fff;--bg-card:#fff;--bg-hover:#f0f2f5;--bg-active:#e8ebf0;--accent-primary:#1a5276;--accent-primary-hover:#1e6fa0;--accent-secondary:#2e86c1;--accent-success:#1e8449;--accent-danger:#c0392b;--accent-warning:#e67e22;--accent-orange:#e67e22;--accent-orange-hover:#d35400;--text-primary:#1c2833;--text-secondary:#566573;--text-muted:#85929e;--text-accent:#1a5276;--border-color:#d5d8dc;--border-focus:#2e86c1;--font-en:"Source Sans 3", -apple-system, BlinkMacSystemFont, sans-serif;--font-bn:"Noto Sans Bengali", sans-serif;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 2px 8px #0000001a;--shadow-lg:0 4px 16px #0000001f;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-en);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}.bn{font-family:var(--font-bn)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}a{color:var(--accent-secondary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-primary)}.btn{border-radius:var(--radius-md);font-family:var(--font-en);cursor:pointer;transition:all var(--transition-base);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover{background:var(--accent-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-outline{color:var(--text-primary);border:1.5px solid var(--border-color);background:0 0}.btn-outline:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.btn-success{background:var(--accent-success);color:#fff}.btn-success:hover{background:#196f3d}.btn-danger{background:var(--accent-danger);color:#fff}.btn-danger:hover{background:#a93226}.btn-ghost{color:var(--text-secondary);background:0 0;padding:8px 16px}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-hover)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.input-group{flex-direction:column;gap:6px;display:flex}.input-group label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.input{border:1.5px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-en);transition:border-color var(--transition-fast);background:#fff;outline:none;padding:12px 16px;font-size:.95rem}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #2e86c11f}.input::placeholder{color:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:var(--accent-success);background:#1e84491a}.badge-danger{color:var(--accent-danger);background:#c0392b1a}.badge-info{color:var(--accent-secondary);background:#2e86c11a}.page{flex:1;width:100%;max-width:800px;margin:0 auto;padding:24px}.page-title{color:var(--accent-primary);margin-bottom:24px;font-size:1.75rem;font-weight:800}.auth-page{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{width:100%;max-width:420px;padding:40px}.auth-card h1{color:var(--accent-primary);margin-bottom:8px;font-size:1.8rem;font-weight:800}.auth-card .subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:.95rem}.auth-card form{flex-direction:column;gap:20px;display:flex}.auth-card .footer{text-align:center;color:var(--text-secondary);margin-top:24px;font-size:.9rem}.error-msg{color:var(--accent-danger);border-radius:var(--radius-sm);background:#c0392b0f;border:1px solid #c0392b26;padding:8px 12px;font-size:.85rem}@media (width<=640px){.page{padding:16px}.auth-card{padding:28px}}
