.login-form-container{width:100%;max-width:380px;display:flex;flex-direction:column}.login-form-title{font-size:1.75rem;font-weight:800;color:#1e293b;letter-spacing:-.02em;margin-bottom:6px}.login-form-subtitle{font-size:var(--font-size-sm);color:#64748b;margin-bottom:24px}.login-google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 18px;background:#fff;border:1px solid #E2E8F0;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;color:#1e293b;box-shadow:0 1px 3px #0000000a;transition:all var(--transition-fast);cursor:pointer}.login-google-btn:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 3px 8px #0000000f}.login-google-icon{width:18px;height:18px;flex-shrink:0}.login-divider{display:flex;align-items:center;text-align:center;margin:20px 0;color:#94a3b8;font-size:11px}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid #E2E8F0}.login-divider span{padding:0 12px}.login-fields{display:flex;flex-direction:column;gap:16px}.login-field-group{display:flex;flex-direction:column;gap:6px}.login-label{font-size:13px;font-weight:700;color:#334155}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:14px;color:#94a3b8;pointer-events:none}.login-input{width:100%;padding:12px 14px 12px 42px;border-radius:var(--radius-md);border:1px solid #E2E8F0;background:#fff;font-size:var(--font-size-sm);font-family:inherit;color:#1e293b;outline:none;transition:all var(--transition-fast)}.login-input::placeholder{color:#94a3b8;font-size:var(--font-size-sm)}.login-input:focus{border-color:var(--color-primary-coral);box-shadow:0 0 0 3px #ff6b4a2e}.login-password-toggle{position:absolute;right:14px;color:#94a3b8;cursor:pointer;display:flex;align-items:center;transition:color var(--transition-fast)}.login-password-toggle:hover{color:#475569}.login-forgot-link{align-self:flex-end;font-size:12px;color:var(--color-primary-coral);font-weight:600;margin-top:-8px;cursor:pointer;transition:color var(--transition-fast)}.login-forgot-link:hover{color:var(--color-primary-coral-hover);text-decoration:underline}.login-submit-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;margin-top:18px;border-radius:var(--radius-full);background:var(--gradient-btn-primary);color:#fff;font-size:var(--font-size-sm);font-weight:700;box-shadow:0 4px 16px #f9573859;transition:all var(--transition-fast)}.login-submit-btn:hover:not(:disabled){transform:translateY(-1px);background:var(--gradient-btn-primary-hover);box-shadow:0 6px 22px #f9573873}.login-submit-btn:disabled{opacity:.7;cursor:not-allowed}.login-error-alert{padding:10px 14px;background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius-md);color:#dc2626;font-size:12px;font-weight:600;margin-bottom:14px}.login-bottom-signup{text-align:center;font-size:13px;color:#64748b;margin-top:20px}.login-bottom-signup span{color:var(--color-primary-coral);font-weight:700;cursor:pointer}.login-bottom-signup span:hover{text-decoration:underline}.login-legal-text{text-align:center;font-size:11px;color:#94a3b8;margin-top:24px;line-height:1.4}.login-legal-text strong{color:#64748b;cursor:pointer}.langgo-sidebar{width:220px;height:calc(100vh - 32px);position:sticky;top:16px;display:flex;flex-direction:column;justify-content:space-between;padding:24px 16px;background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.9);border-radius:var(--radius-xl);box-shadow:0 10px 30px #94a3b814;flex-shrink:0;z-index:40}.langgo-sidebar__brand{display:flex;align-items:center;gap:12px;margin-bottom:32px;padding-left:8px}.langgo-sidebar__logo-badge{width:36px;height:36px;border-radius:10px;background:var(--gradient-btn-primary);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #f957384d}.langgo-sidebar__brand-text{display:flex;flex-direction:column}.langgo-sidebar__logo-title{font-size:1.15rem;font-weight:800;color:var(--color-navy);letter-spacing:-.02em;line-height:1.1}.langgo-sidebar__logo-slogan{font-size:9px;color:var(--color-text-subtle);font-weight:500;letter-spacing:-.01em;margin-top:2px}.langgo-sidebar__nav{display:flex;flex-direction:column;gap:6px}.langgo-sidebar__item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted);transition:all var(--transition-fast)}.langgo-sidebar__item:hover{color:var(--color-primary-coral);background:var(--color-primary-coral-light)}.langgo-sidebar__item--active{color:var(--color-primary-coral);background:var(--color-primary-coral-light);border:1px solid var(--color-primary-coral-border);box-shadow:inset 0 1px 2px #fffc}.langgo-sidebar__item-icon{display:flex;align-items:center;justify-content:center}.langgo-sidebar__bot-card{padding:14px;background:linear-gradient(135deg,#fff8f3f2,#fff2ebe6);border:1px solid var(--color-primary-coral-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-sm)}.langgo-sidebar__bot-top{display:flex;align-items:center;justify-content:space-between}.langgo-sidebar__bot-avatar{width:32px;height:32px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000000d;font-size:16px}.langgo-sidebar__bot-arrow-btn{width:26px;height:26px;border-radius:50%;background:var(--gradient-btn-primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #f9573859;transition:transform var(--transition-fast)}.langgo-sidebar__bot-arrow-btn:hover{transform:translate(2px)}.langgo-sidebar__bot-title{font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-main)}.langgo-sidebar__bot-desc{font-size:10px;color:var(--color-text-muted);line-height:1.3}.langgo-header{height:58px;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.langgo-header__search-wrap{position:relative;width:380px;max-width:100%}.langgo-header__search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.langgo-header__search-input{width:100%;padding:10px 16px 10px 44px;font-size:var(--font-size-sm);font-family:inherit;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.85);background:#ffffffbf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--color-text-main);outline:none;box-shadow:0 2px 10px #94a3b80d;transition:all var(--transition-fast)}.langgo-header__search-input::placeholder{color:#94a3b8;font-size:var(--font-size-sm)}.langgo-header__search-input:focus{background:#fff;border-color:var(--color-primary-coral);box-shadow:0 0 0 3px #ff6b4a26}.langgo-header__actions{display:flex;align-items:center;gap:12px}.langgo-header__circle-btn{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffffbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.9);color:#64748b;transition:all var(--transition-fast);position:relative;box-shadow:0 2px 6px #94a3b80f}.langgo-header__circle-btn:hover{background:#fff;color:var(--color-primary-coral);transform:translateY(-1px)}.langgo-header__badge-dot{position:absolute;top:9px;right:9px;width:7px;height:7px;background:var(--color-primary-coral);border-radius:50%;border:1.5px solid #FFFFFF}.langgo-header__profile{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 4px;border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-fast)}.langgo-header__profile:hover{background:#fff9}.langgo-header__avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #FFFFFF;box-shadow:0 2px 8px #00000014}.langgo-header__profile-text{display:flex;flex-direction:column;line-height:1.2}.langgo-header__profile-name{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-main)}.langgo-header__profile-level{font-size:11px;color:var(--color-text-muted)}.langgo-header__chevron{color:#94a3b8;margin-left:2px}.langgo-hero-banner{position:relative;border-radius:var(--radius-xl);padding:32px 36px;background:var(--gradient-hero);display:flex;align-items:center;justify-content:space-between;overflow:hidden;box-shadow:0 10px 30px #f957381a;border:1px solid rgba(255,235,225,.9);margin-bottom:24px}.langgo-hero-banner__content{position:relative;z-index:2;max-width:440px}.langgo-hero-banner__title{font-size:1.75rem;font-weight:800;color:var(--color-navy);letter-spacing:-.02em;line-height:1.2}.langgo-hero-banner__desc{font-size:var(--font-size-sm);color:#475569;line-height:1.5;margin:10px 0 20px}.langgo-hero-banner__btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:var(--radius-full);background:var(--gradient-btn-primary);color:#fff;font-size:var(--font-size-sm);font-weight:700;box-shadow:0 4px 16px #f9573859;transition:all var(--transition-fast)}.langgo-hero-banner__btn:hover{transform:translateY(-2px);background:var(--gradient-btn-primary-hover);box-shadow:0 6px 22px #f9573873}.langgo-hero-banner__graphic{position:relative;z-index:2;display:flex;align-items:center;justify-content:center}.langgo-hero-banner__quote{font-family:"Brush Script MT",cursive,var(--font-family);font-size:1.5rem;color:var(--color-primary-coral);position:absolute;top:-12px;right:170px;white-space:nowrap;transform:rotate(-6deg);pointer-events:none;z-index:3}.langgo-hero-banner__img{width:260px;height:auto;max-height:155px;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(0,0,0,.08));margin-bottom:-18px;margin-right:-10px;z-index:2}.langgo-hero-banner__hill-1{position:absolute;right:-40px;bottom:-60px;width:320px;height:200px;border-radius:50%;background:linear-gradient(135deg,#ffdac399,#fecdb94d);filter:blur(20px);z-index:1}.langgo-hero-banner__hill-2{position:absolute;right:120px;bottom:-40px;width:240px;height:160px;border-radius:50%;background:linear-gradient(135deg,#ffebdcb3,#ffd7be66);filter:blur(24px);z-index:1}.langgo-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.langgo-stat-card{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.9);border-radius:var(--radius-lg);padding:18px 20px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 4px 18px #94a3b80f;position:relative;transition:all var(--transition-fast);cursor:pointer}.langgo-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #94a3b81f;background:#fff}.langgo-stat-card__top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.langgo-stat-card__icon-box{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.langgo-stat-card__icon-box--purple{background:var(--color-primary-coral-light);color:var(--color-primary-coral)}.langgo-stat-card__icon-box--teal{background:#ccfbf1;color:#0d9488}.langgo-stat-card__icon-box--blue{background:#dbeafe;color:#2563eb}.langgo-stat-card__icon-box--yellow{background:#fef3c7;color:#d97706}.langgo-stat-card__label{font-size:13px;color:var(--color-text-muted);font-weight:600}.langgo-stat-card__value{font-size:1.45rem;font-weight:800;color:var(--color-navy);letter-spacing:-.02em;line-height:1.1;margin-bottom:8px}.langgo-stat-card__value span{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted);margin-left:4px}.langgo-stat-card__footer{display:flex;align-items:center;justify-content:space-between}.langgo-stat-card__badge{font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:4px}.langgo-stat-card__badge--streak{color:var(--color-primary-coral)}.langgo-stat-card__badge--positive{color:#059669}.langgo-stat-card__arrow{color:#cbd5e1;transition:transform var(--transition-fast),color var(--transition-fast)}.langgo-stat-card:hover .langgo-stat-card__arrow{color:var(--color-primary-coral);transform:translate(2px)}@media(max-width:1024px){.langgo-stat-grid{grid-template-columns:repeat(2,1fr)}}.langgo-continue-learning-section{display:flex;flex-direction:column}.langgo-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.langgo-section-title{font-size:1.05rem;font-weight:800;color:var(--color-text-main);letter-spacing:-.01em}.langgo-section-link{font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary-coral);cursor:pointer;transition:color var(--transition-fast)}.langgo-section-link:hover{color:var(--color-primary-coral-hover);text-decoration:underline}.langgo-section-sub{font-size:12px;color:#94a3b8;margin-bottom:12px}.langgo-continue-card{background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.95);border-radius:var(--radius-lg);padding:16px;display:flex;gap:18px;box-shadow:0 4px 18px #94a3b80f;height:calc(100% - 44px)}.langgo-continue-card__thumb-wrap{width:140px;height:125px;border-radius:var(--radius-md);position:relative;overflow:hidden;flex-shrink:0}.langgo-continue-card__img{width:100%;height:100%;object-fit:cover}.langgo-continue-card__unit-badge{position:absolute;top:8px;left:8px;background:#ffffffe6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#1e293b;font-size:10px;font-weight:700;padding:3px 8px;border-radius:var(--radius-full);box-shadow:0 2px 6px #0000001a}.langgo-continue-card__body{flex:1;display:flex;flex-direction:column;justify-content:space-between}.langgo-continue-card__title{font-size:1rem;font-weight:800;color:var(--color-text-main);line-height:1.2}.langgo-continue-card__progress-row{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.langgo-continue-card__progress-label{font-size:11px;color:var(--color-text-subtle);font-weight:500}.langgo-continue-card__progress-text{font-size:11px;color:var(--color-primary-coral);font-weight:700}.langgo-continue-card__progress-track{width:100%;height:5px;background:#e2e8f0;border-radius:var(--radius-full);margin:6px 0 8px;overflow:hidden}.langgo-continue-card__progress-fill{height:100%;background:var(--gradient-btn-primary);border-radius:var(--radius-full)}.langgo-continue-card__desc{font-size:12px;color:#64748b;line-height:1.4;margin-bottom:10px}.langgo-continue-card__btn{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:var(--radius-full);background:var(--gradient-btn-primary);color:#fff;font-size:12px;font-weight:700;box-shadow:0 4px 12px #f957384d;transition:all var(--transition-fast)}.langgo-continue-card__btn:hover{transform:translateY(-1px);background:var(--gradient-btn-primary-hover);box-shadow:0 6px 16px #f9573866}.langgo-weekly-card{background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.95);border-radius:var(--radius-lg);padding:16px 20px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 4px 18px #94a3b80f;height:calc(100% - 44px)}.langgo-weekly-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.langgo-weekly-card__title{font-size:1.05rem;font-weight:800;color:var(--color-text-main)}.langgo-weekly-card__dropdown-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--color-text-muted);background:#f1f5f9b3;padding:4px 10px;border-radius:var(--radius-full);border:1px solid rgba(226,232,240,.8);cursor:pointer;transition:all var(--transition-fast)}.langgo-weekly-card__dropdown-btn:hover{color:var(--color-primary-coral);border-color:var(--color-primary-coral-border)}.langgo-weekly-chart{display:flex;align-items:flex-end;justify-content:space-between;height:90px;padding:0 8px 6px;border-bottom:1px solid rgba(226,232,240,.8);margin-bottom:14px}.langgo-weekly-bar-col{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.langgo-weekly-bar{width:14px;border-radius:var(--radius-full);background:#ffe4d6;transition:all var(--transition-fast)}.langgo-weekly-bar:hover{transform:scaleY(1.05)}.langgo-weekly-bar--active{background:var(--gradient-btn-primary);box-shadow:0 2px 8px #f9573859}.langgo-weekly-day{font-size:10px;font-weight:600;color:#94a3b8}.langgo-weekly-stats{display:flex;align-items:center;justify-content:space-around;padding-top:4px}.langgo-weekly-stat-item{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748b;font-weight:600}.langgo-weekly-stat-item span strong{color:var(--color-navy);font-weight:800}.langgo-weekly-stat-icon{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center}.langgo-popular-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.langgo-popular-card{background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.95);border-radius:var(--radius-md);padding:10px;display:flex;flex-direction:column;gap:8px;box-shadow:0 4px 14px #94a3b80d;transition:all var(--transition-fast);cursor:pointer}.langgo-popular-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #94a3b81a;background:#fff}.langgo-popular-card__thumb{width:100%;height:82px;border-radius:var(--radius-sm);object-fit:cover}.langgo-popular-card__badge{align-self:flex-start;font-size:10px;font-weight:700;padding:2px 8px;border-radius:var(--radius-full)}.langgo-popular-card__badge--vocabulary{background:#eef2ff;color:#4f46e5}.langgo-popular-card__badge--grammar{background:#ecfeff;color:#0891b2}.langgo-popular-card__badge--listening{background:#eff6ff;color:#2563eb}.langgo-popular-card__badge--speaking{background:var(--color-primary-coral-light);color:var(--color-primary-coral)}.langgo-popular-card__title{font-size:13px;font-weight:700;color:var(--color-text-main);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.langgo-popular-card__footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;font-size:11px;color:#94a3b8;font-weight:500}.langgo-popular-card__bookmark{color:#cbd5e1;transition:color var(--transition-fast)}.langgo-popular-card:hover .langgo-popular-card__bookmark{color:var(--color-primary-coral)}@media(max-width:1200px){.langgo-popular-grid{grid-template-columns:repeat(2,1fr)}}.langgo-vocab-box{background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.95);border-radius:var(--radius-lg);padding:12px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 4px 18px #94a3b80f}.langgo-vocab-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:var(--radius-md);transition:background var(--transition-fast)}.langgo-vocab-item:hover{background:#f8fafccc}.langgo-vocab-left{display:flex;align-items:center;gap:10px}.langgo-vocab-check{width:18px;height:18px;border-radius:50%;border:1.5px solid #10B981;color:#10b981;display:flex;align-items:center;justify-content:center}.langgo-vocab-word{font-size:13px;font-weight:700;color:var(--color-text-main)}.langgo-vocab-mid{display:flex;align-items:center;gap:6px;color:#94a3b8;font-size:12px;font-style:italic;cursor:pointer;transition:color var(--transition-fast)}.langgo-vocab-mid:hover{color:var(--color-primary-blue)}.langgo-cefr-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:var(--radius-full)}.langgo-cefr-badge--a1{background:#ecfdf5;color:#10b981}.langgo-cefr-badge--a2{background:#eff6ff;color:#3b82f6}.langgo-cefr-badge--b1{background:#f5f3ff;color:#8b5cf6}.langgo-cefr-badge--b2{background:#fffbeb;color:#f59e0b}.langgo-right-panel{width:270px;flex-shrink:0;display:flex;flex-direction:column;gap:20px}.langgo-streak-ring-card{background:#ffffffe0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.95);border-radius:var(--radius-xl);padding:24px 20px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden;box-shadow:0 6px 24px #94a3b814}.langgo-streak-ring-wrap{position:relative;width:140px;height:140px;display:flex;align-items:center;justify-content:center}.langgo-streak-ring-center{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}.langgo-streak-flame{font-size:20px;margin-bottom:2px}.langgo-streak-number{font-size:28px;font-weight:800;color:#1e293b;letter-spacing:-.02em}.langgo-streak-unit{font-size:11px;font-weight:600;color:#64748b;margin-top:2px}.langgo-streak-quote{font-size:12px;color:#475569;font-weight:500;margin:16px 0 14px;line-height:1.4;z-index:2}.langgo-streak-mountain-bg{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(180deg,transparent,rgba(255,230,218,.5));pointer-events:none;z-index:1}.langgo-set-goal-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-radius:var(--radius-full);background:#fffaf6f2;border:1px solid var(--color-primary-coral-border);font-size:12px;font-weight:600;color:#475569;z-index:2;transition:all var(--transition-fast)}.langgo-set-goal-btn:hover{background:#fff;color:var(--color-primary-blue);box-shadow:var(--shadow-sm)}.langgo-top-learners-card{background:#ffffffe0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.95);border-radius:var(--radius-xl);padding:18px;box-shadow:0 6px 24px #94a3b814}.langgo-top-learners-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.langgo-top-learners-list{display:flex;flex-direction:column;gap:10px}.langgo-learner-row{display:flex;align-items:center;justify-content:space-between}.langgo-learner-left{display:flex;align-items:center;gap:10px}.langgo-learner-rank{font-size:11px;font-weight:700;color:#94a3b8;width:14px;text-align:center}.langgo-learner-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.langgo-learner-info{display:flex;flex-direction:column;line-height:1.2}.langgo-learner-name{font-size:12px;font-weight:700;color:#1e293b}.langgo-learner-hours{font-size:11px;color:#94a3b8}.langgo-learner-crown{font-size:14px}.langgo-fluency-card{position:relative;background:var(--gradient-fluency);border:1px solid var(--color-primary-coral-border);border-radius:var(--radius-xl);padding:18px 20px;overflow:hidden;box-shadow:0 6px 20px #f9573814;display:flex;flex-direction:column;justify-content:space-between;min-height:115px}.langgo-fluency-text{font-size:13px;font-weight:700;color:var(--color-navy);line-height:1.4;max-width:180px;z-index:2}.langgo-fluency-btn{align-self:flex-start;width:28px;height:28px;border-radius:50%;background:var(--gradient-btn-primary);color:#fff;display:flex;align-items:center;justify-content:center;margin-top:12px;box-shadow:0 2px 8px #f957384d;z-index:2}.langgo-fluency-deco{position:absolute;right:-20px;bottom:-20px;width:120px;height:90px;background:linear-gradient(135deg,#ffdac399,#ffb4964d);border-radius:50%;filter:blur(14px);z-index:1}.langgo-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none}.langgo-btn--sm{padding:6px 12px;font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.langgo-btn--md{padding:10px 18px;font-size:var(--font-size-sm)}.langgo-btn--lg{padding:14px 24px;font-size:var(--font-size-base);border-radius:var(--radius-lg)}.langgo-btn--primary{background:var(--gradient-btn-primary);color:#fff;box-shadow:0 4px 14px #f9573840}.langgo-btn--primary:hover:not(:disabled){background:var(--gradient-btn-primary-hover);box-shadow:0 6px 20px #f9573859;transform:translateY(-1px)}.langgo-btn--accent{background:linear-gradient(135deg,var(--color-cyan),#0891B2);color:#fff;box-shadow:0 4px 14px #06b6d440}.langgo-btn--accent:hover:not(:disabled){background:linear-gradient(135deg,#0891b2,#0e7490);box-shadow:0 6px 20px #06b6d459;transform:translateY(-1px)}.langgo-btn--lavender{background:linear-gradient(135deg,var(--color-lavender),#7C3AED);color:#fff;box-shadow:0 4px 14px #8b5cf640}.langgo-btn--lavender:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 6px 20px #8b5cf659;transform:translateY(-1px)}.langgo-btn--secondary{background:#ffffffd9;-webkit-backdrop-filter:var(--glass-blur-sm);backdrop-filter:var(--glass-blur-sm);color:var(--color-text-main);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm)}.langgo-btn--secondary:hover:not(:disabled){background:#fff;border-color:#cbd5e1;transform:translateY(-1px)}.langgo-btn--ghost{color:var(--color-text-muted);background:transparent}.langgo-btn--ghost:hover:not(:disabled){background:#f1f5f9b3;color:var(--color-text-main)}.langgo-btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}.langgo-btn:active:not(:disabled){transform:translateY(1px)}.langgo-card{position:relative;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);transition:all var(--transition-normal);overflow:hidden}.langgo-card--interactive{cursor:pointer}.langgo-card--interactive:hover{background:var(--glass-bg-hover);border-color:#fffffff2;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.langgo-card--solid{background:var(--glass-bg-solid)}.langgo-card--p-none{padding:0}.langgo-card--p-sm{padding:var(--spacing-3)}.langgo-card--p-md{padding:var(--spacing-5)}.langgo-card--p-lg{padding:var(--spacing-8)}.langgo-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.02em;line-height:1}.langgo-badge--blue{background:var(--color-primary-blue-light);color:var(--color-primary-blue);border:1px solid rgba(59,130,246,.2)}.langgo-badge--cyan{background:var(--color-cyan-light);color:var(--color-cyan-hover);border:1px solid rgba(6,182,212,.2)}.langgo-badge--lavender{background:var(--color-lavender-light);color:var(--color-lavender);border:1px solid var(--color-lavender-border)}.langgo-badge--success{background:var(--color-success-light);color:var(--color-success);border:1px solid rgba(16,185,129,.2)}.langgo-badge--warning{background:var(--color-warning-light);color:var(--color-warning);border:1px solid rgba(245,158,11,.2)}.langgo-progress{display:flex;flex-direction:column;gap:6px;width:100%}.langgo-progress__track{width:100%;height:8px;background:#e2e8f0b3;border-radius:var(--radius-full);overflow:hidden;position:relative}.langgo-progress__track--sm{height:6px}.langgo-progress__track--lg{height:12px}.langgo-progress__bar{height:100%;border-radius:var(--radius-full);transition:width var(--transition-smooth)}.langgo-progress__bar--blue{background:linear-gradient(90deg,#3b82f6,#2563eb)}.langgo-progress__bar--cyan{background:linear-gradient(90deg,#06b6d4,#3b82f6)}.langgo-progress__bar--lavender{background:linear-gradient(90deg,#8b5cf6,#06b6d4)}.langgo-progress__labels{display:flex;justify-content:space-between;font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:500}.practice-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;-webkit-backdrop-filter:var(--glass-blur-sm);backdrop-filter:var(--glass-blur-sm);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-4);animation:fadeIn .2s ease}.practice-modal-card{width:100%;max-width:520px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-8);display:flex;flex-direction:column;gap:var(--spacing-6);position:relative;border:1px solid rgba(226,232,240,.8)}.practice-modal-header{display:flex;align-items:center;justify-content:space-between}.practice-card-box{background:linear-gradient(135deg,#f8fafc,#eef2ff);border:2px dashed #CBD5E1;border-radius:var(--radius-lg);padding:var(--spacing-8);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3);cursor:pointer;transition:all var(--transition-normal)}.practice-card-box:hover{border-color:var(--color-primary-blue);background:linear-gradient(135deg,#eff6ff,#eef2ff)}.practice-term{font-size:var(--font-size-3xl);font-weight:800;color:var(--color-primary-blue-hover)}.practice-ipa{font-size:var(--font-size-sm);color:var(--color-text-muted)}.practice-meaning-box{margin-top:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid rgba(226,232,240,.8);animation:slideUp .2s ease}.practice-actions{display:flex;gap:var(--spacing-4);justify-content:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.dashboard-container{min-height:100vh;display:flex;justify-content:center;padding:16px}.dashboard-layout{display:flex;gap:20px;width:100%;max-width:1460px;align-items:flex-start}.dashboard-center{flex:1;min-width:0;display:flex;flex-direction:column}.dashboard-grid-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}@media(max-width:1280px){.dashboard-layout{gap:14px}}@media(max-width:1100px){.dashboard-layout{flex-wrap:wrap}.dashboard-center{order:2;width:calc(100% - 240px)}.langgo-right-panel{order:3;width:100%;display:grid;grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.dashboard-container{padding:8px}.dashboard-layout{flex-direction:column}.langgo-sidebar{width:100%;height:auto;position:relative;top:0}.dashboard-center{width:100%}.dashboard-grid-row,.langgo-right-panel{grid-template-columns:1fr}}.langgo-login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.langgo-login-card{width:100%;max-width:1040px;min-height:640px;background:#fffffff0;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.95);border-radius:var(--radius-xl);box-shadow:0 24px 60px #818cf829,0 2px 10px #00000008;display:grid;grid-template-columns:1.18fr 1fr;overflow:hidden}.langgo-login-visual{position:relative;background:linear-gradient(145deg,#fff7f2,#ffefe6,#ffe8dc 80%,#fff3eb);padding:40px 36px 0;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border-right:1px solid var(--color-primary-coral-border)}.langgo-login-brand{display:flex;align-items:center;gap:10px;z-index:2}.langgo-login-brand-icon{width:36px;height:36px;border-radius:10px;background:var(--gradient-btn-primary);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #f957384d}.langgo-login-brand-title{font-size:1.3rem;font-weight:800;color:var(--color-navy);letter-spacing:-.02em}.langgo-login-headline-wrap{margin-top:24px;max-width:400px;z-index:2}.langgo-login-headline{font-size:2rem;font-weight:800;color:var(--color-navy);letter-spacing:-.02em;line-height:1.2}.langgo-login-headline span{color:var(--color-primary-coral);background:var(--gradient-btn-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.langgo-login-subline{font-size:var(--font-size-sm);color:#64748b;margin-top:8px;line-height:1.45}.langgo-floating-chips-wrap{position:relative;width:100%;flex:1;min-height:340px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;z-index:2;margin-top:10px}.langgo-floating-chip{position:absolute;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.9);border-radius:var(--radius-md);padding:8px 14px;box-shadow:0 6px 18px #94a3b829;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all var(--transition-fast);z-index:4}.langgo-floating-chip:hover{transform:translateY(-2px) scale(1.04);background:#fff;box-shadow:0 8px 22px #94a3b838}.langgo-floating-chip--improve{left:10px;bottom:220px;transform:rotate(-3deg)}.langgo-floating-chip--confidence{left:48%;bottom:245px;transform:rotate(2deg)}.langgo-floating-chip--progress{right:-5px;bottom:120px}.langgo-chip-icon{color:var(--color-primary-coral)}.langgo-chip-text{display:flex;flex-direction:column;line-height:1.2}.langgo-chip-word{font-size:12px;font-weight:700;color:var(--color-navy)}.langgo-chip-ipa{font-size:10px;color:#94a3b8}.langgo-sparkle-star{position:absolute;color:var(--color-primary-coral);opacity:.8;pointer-events:none;z-index:3}.langgo-sparkle-star--1{top:15px;left:140px;font-size:14px}.langgo-sparkle-star--2{top:60px;right:25px;font-size:18px}.langgo-login-illustration{width:100%;max-width:500px;height:auto;object-fit:contain;display:block;margin-bottom:0;filter:drop-shadow(0 14px 30px rgba(0,0,0,.08));z-index:2;transition:transform var(--transition-normal)}.langgo-login-form-col{padding:48px 44px;display:flex;align-items:center;justify-content:center;background:#fff}@media(max-width:960px){.langgo-login-card{grid-template-columns:1fr;max-width:480px}.langgo-login-visual{display:none}.langgo-login-form-col{padding:36px 24px}}:root{--color-primary-coral: #FF6B4A;--color-primary-coral-hover: #F95738;--color-primary-coral-dark: #E04322;--color-primary-coral-light: #FFF2EB;--color-primary-coral-border: #FFD9CA;--color-primary-blue: var(--color-primary-coral);--color-primary-blue-hover: var(--color-primary-coral-hover);--color-primary-blue-light: var(--color-primary-coral-light);--color-navy: #0F172A;--color-navy-dark: #020617;--color-navy-light: #1E293B;--color-cream-bg: #FAF6F0;--color-cream-surface: #FFFFFF;--color-cream-border: rgba(238, 230, 219, .85);--color-cyan: #06B6D4;--color-cyan-hover: #0891B2;--color-cyan-light: #ECFEFF;--color-lavender: #8B5CF6;--color-lavender-hover: #7C3AED;--color-lavender-light: #F5F3FF;--color-lavender-border: #E0E7FF;--gradient-btn-primary: linear-gradient(135deg, #FF6B4A 0%, #F95738 100%);--gradient-btn-primary-hover: linear-gradient(135deg, #F95738 0%, #E04322 100%);--gradient-hero: linear-gradient(135deg, #FFF5EE 0%, #FFE9DE 45%, #FFDFCF 80%, #FFE3D6 100%);--gradient-streak: linear-gradient(135deg, #FFA07A 0%, #FF6B4A 50%, #F95738 100%);--gradient-fluency: linear-gradient(135deg, #FFF3EB 0%, #FFE4D5 100%);--color-cefr-a1: #10B981;--color-cefr-a1-bg: #ECFDF5;--color-cefr-a2: #3B82F6;--color-cefr-a2-bg: #EFF6FF;--color-cefr-b1: #8B5CF6;--color-cefr-b1-bg: #F5F3FF;--color-cefr-b2: #F59E0B;--color-cefr-b2-bg: #FFFBEB;--color-success: #10B981;--color-success-light: #ECFDF5;--color-warning: #F59E0B;--color-warning-light: #FFFBEB;--color-danger: #EF4444;--color-danger-light: #FEF2F2;--color-text-main: #0F172A;--color-text-muted: #64748B;--color-text-subtle: #94A3B8;--color-border-subtle: rgba(226, 219, 208, .7);--glass-bg: rgba(255, 255, 255, .88);--glass-bg-hover: rgba(255, 255, 255, .96);--glass-bg-solid: #FFFFFF;--glass-border: rgba(255, 255, 255, .95);--glass-border-subtle: rgba(238, 230, 219, .65);--glass-blur: blur(12px);--glass-blur-sm: blur(6px);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .04), 0 1px 2px rgba(15, 23, 42, .02);--shadow-md: 0 4px 16px -2px rgba(249, 87, 56, .08), 0 2px 6px -1px rgba(0, 0, 0, .02);--shadow-lg: 0 12px 30px -4px rgba(249, 87, 56, .12), 0 4px 12px -2px rgba(0, 0, 0, .03);--shadow-card: 0 4px 20px rgba(180, 160, 140, .07);--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .24s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .35s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-family);font-size:16px;color:var(--color-text-main);background-color:var(--color-cream-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;background-color:#faf6f0;background-image:radial-gradient(at 0% 0%,rgba(255,237,226,.85) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(254,243,232,.8) 0px,transparent 50%),radial-gradient(at 50% 30%,rgba(255,245,238,.7) 0px,transparent 60%),radial-gradient(at 100% 100%,rgba(255,230,218,.6) 0px,transparent 50%),radial-gradient(at 0% 100%,rgba(254,239,230,.75) 0px,transparent 50%);background-attachment:fixed;background-size:cover}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#dcc8b480;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#c8af96bf}:focus-visible{outline:2px solid var(--color-primary-coral);outline-offset:2px}
