:root{--bg:#fff;--text-main:#0f172a;--text-mute:#64748b;--primary-blue:#002868;--secondary-red:#bf0a30;--primary-blue-rgb:0, 40, 104;--secondary-red-rgb:191, 10, 48;--glass-bg:#ffffff73;--glass-border:#0028681f;--glass-shadow:#00286814;--border:#0028681a;--border-hover:#00286833;--input-bg:#fffc;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font-family:var(--sans);color:var(--text-main);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:18px;line-height:1.5}html.dark{--bg:#0b0e14;--text-main:#f8fafc;--text-mute:#94a3b8;--primary-blue:#3b82f6;--secondary-red:#ef4444;--primary-blue-rgb:59, 130, 246;--secondary-red-rgb:239, 68, 68;--glass-bg:#0f172aa6;--glass-border:#ffffff14;--glass-shadow:#0006;--border:#ffffff14;--border-hover:#fff3;--input-bg:#0f172acc}html{background-color:var(--bg);overscroll-behavior:none;height:100%}body{padding:0;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background-color:var(--bg);color:var(--text-main);overscroll-behavior:none;min-height:100%;margin:0;transition:background-color .3s,color .3s;overflow-x:hidden}#app{box-sizing:border-box;flex-direction:column;width:100%;min-height:100dvh;display:flex}h1,h2,h3,h4{letter-spacing:-.025em;color:var(--text-main);margin:0;font-weight:700}h1{background:linear-gradient(135deg, var(--text-main) 40%, var(--primary-blue));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2.2rem}h2{font-size:1.5rem}p{color:var(--text-mute);margin:0}.ui-704-glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px)saturate(140%);border:1px solid var(--glass-border);box-shadow:0 8px 32px 0 var(--glass-shadow);border-radius:1.25rem;padding:1.5rem;transition:border-color .25s,box-shadow .25s,background-color .3s,transform .2s cubic-bezier(.34,1.56,.64,1)}.ui-704-glass:hover{border-color:var(--border-hover);box-shadow:0 12px 40px 0 var(--glass-shadow);transform:translateY(-2px)}.ui-704-input{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text-main);font-size:1rem;font-family:var(--sans);box-sizing:border-box;border-radius:9999px;outline:none;padding:.8rem 1.2rem;transition:all .25s}.ui-704-input::placeholder{color:var(--text-mute);opacity:.8}.ui-704-pill{cursor:pointer;font-size:.95rem;font-weight:600;font-family:var(--sans);border:1px solid #0000;border-radius:9999px;outline:none;justify-content:center;align-items:center;margin-bottom:0;padding:.7rem 1.8rem;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.ui-704-pill:active{transform:scale(.96)translateY(1px)}.ui-704-pill-primary{background:var(--primary-blue);color:#fff}.ui-704-pill-primary:hover{box-shadow:0 0 18px rgba(var(--primary-blue-rgb), .35);transform:translateY(-2px)scale(1.02)}.ui-704-pill-primary:disabled{background:var(--border);color:var(--text-mute);cursor:not-allowed;box-shadow:none;transform:none}.ui-704-pill-secondary{background:var(--glass-bg);color:var(--text-main);border:1px solid var(--border)}.ui-704-pill-secondary:hover{background:rgba(var(--primary-blue-rgb), .05);border-color:var(--primary-blue);transform:translateY(-2px)scale(1.02)}.ui-704-pill-secondary:disabled{opacity:.5;cursor:not-allowed}.ui-704-pill-danger{background:var(--secondary-red);color:#fff}.ui-704-pill-danger:hover{box-shadow:0 0 18px rgba(var(--secondary-red-rgb), .35);transform:translateY(-2px)scale(1.02)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-loader{background-color:rgba(var(--primary-blue-rgb), .05);border-radius:.5rem;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.thai-translation{color:var(--text-mute);opacity:.85;text-transform:none;letter-spacing:normal;margin-top:.15rem;font-size:.78rem;font-weight:400;line-height:1.35;display:block}.ui-704-pill-primary .thai-translation,.ui-704-pill-danger .thai-translation,.review-btn.has-due .thai-translation,.btn-sub-thai.primary,.btn-sub-thai.text-white{opacity:.95;color:#ffffffe6!important}.ui-704-pill:has(.btn-sub-thai){text-align:center;white-space:nowrap;flex-direction:column;height:auto;padding-top:.55rem;padding-bottom:.55rem;line-height:1.25}.btn-sub-thai{width:100%;margin-top:.15rem;font-size:.7rem;display:block}.tutor-emoji{vertical-align:middle;line-height:1;display:inline-block;font-size:1.4rem!important}.button-loading-content{justify-content:center;align-items:center;gap:.6rem;display:flex}.btn-spinner{border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite spin-button;display:inline-block}@keyframes spin-button{to{transform:rotate(360deg)}}.back-btn{white-space:nowrap!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;gap:.5rem!important;height:auto!important;padding:.5rem 1.5rem!important}.back-btn .icon-arrow,.back-btn span{align-items:center!important;display:inline-flex!important}.content-loading-container{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;width:100%;max-width:480px;margin:3rem auto;padding:3rem 2rem;display:flex}.content-loading-text{color:var(--text-main);flex-direction:column;gap:.25rem;font-size:1.05rem;font-weight:700;display:flex}.content-loading-bar-track{background:rgba(var(--primary-blue-rgb), .15);border-radius:9999px;width:100%;height:6px;position:relative;overflow:hidden}.content-loading-bar-indicator{background:linear-gradient(90deg, transparent 0%, var(--primary-blue) 50%, transparent 100%);border-radius:9999px;width:50%;height:100%;animation:1.5s linear infinite loadingBarSlide;position:absolute;top:0;left:-50%}@keyframes loadingBarSlide{0%{left:-50%}to{left:100%}}@keyframes flicker{0%,to{filter:brightness()drop-shadow(0 0 1px #ef444433);transform:scale(1)rotate(-1deg)}50%{filter:brightness(1.2)drop-shadow(0 0 4px #ef444499);transform:scale(1.1)rotate(2deg)}}.flame-icon{animation:1.5s ease-in-out infinite flicker;display:inline-block}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.card-shake{animation:.45s cubic-bezier(.36,.07,.19,.97) both shake}.grecaptcha-badge{visibility:hidden!important}@media (hover:none){.ui-704-glass:hover{border-color:var(--glass-border);box-shadow:0 8px 32px 0 var(--glass-shadow);transform:none}.ui-704-pill-primary:hover{box-shadow:none;transform:none}.ui-704-pill-secondary:hover{background:var(--glass-bg);border-color:var(--border);transform:none}.ui-704-pill-danger:hover,.clickable-card:hover{box-shadow:none;transform:none}.hub-card:active,.clickable-card:active,.study-tab-btn:active,.nav-link-btn:active{opacity:.85;transition-duration:50ms;transform:scale(.97)}}.ui-704-pill,.ui-704-input,.ui-704-select,.back-btn{min-height:44px}.ui-704-pill,.nav-link-btn,.study-tab-btn,.hub-card,.clickable-card,.back-btn{-webkit-user-select:none;user-select:none}.modal-backdrop,.recording-overlay{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.login-container[data-v-e748275c]{flex-grow:1;justify-content:center;align-items:center;width:100%;display:flex}.login-card[data-v-e748275c]{box-sizing:border-box;flex-direction:column;gap:1.5rem;width:100%;max-width:460px;padding:3rem 2.5rem 2.5rem;display:flex;position:relative;overflow:hidden}.patriotic-bar[data-v-e748275c]{width:100%;height:6px;display:flex;position:absolute;top:0;left:0}.flag-stripe[data-v-e748275c]{flex-grow:1;height:100%}.flag-stripe.blue[data-v-e748275c]{background-color:var(--primary-blue)}.flag-stripe.white[data-v-e748275c]{background-color:#fff}.flag-stripe.red[data-v-e748275c]{background-color:var(--secondary-red)}.login-header[data-v-e748275c]{text-align:center}.login-header h1[data-v-e748275c]{background:linear-gradient(135deg, var(--text-main) 40%, var(--primary-blue));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.1rem;font-size:2.2rem}.header-thai[data-v-e748275c]{margin-top:.1rem;font-size:.95rem;font-weight:500}.step-indicator[data-v-e748275c]{justify-content:center;align-items:center;gap:0;display:flex}.step-dot[data-v-e748275c]{background:var(--border);border-radius:50%;flex-shrink:0;width:10px;height:10px;transition:background .3s}.step-dot.active[data-v-e748275c]{background:var(--primary-blue);box-shadow:0 0 8px rgba(var(--primary-blue-rgb), .4)}.step-dot.done[data-v-e748275c]{background:#10b981}.step-line[data-v-e748275c]{background:var(--border);flex:1;max-width:80px;height:2px;margin:0 .5rem}.step-label[data-v-e748275c]{color:var(--text-main);flex-direction:column;gap:.15rem;font-size:1rem;font-weight:700;display:flex}.step-label-en[data-v-e748275c]{color:var(--text-mute);font-size:.78rem;font-weight:500}.email-badge[data-v-e748275c]{background:rgba(var(--primary-blue-rgb), .06);border:1px solid rgba(var(--primary-blue-rgb), .18);border-radius:9999px;justify-content:space-between;align-items:center;padding:.4rem 1rem;font-size:.88rem;display:flex}.email-badge-addr[data-v-e748275c]{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.email-change-btn[data-v-e748275c]{cursor:pointer;color:var(--primary-blue);background:0 0;border:none;flex-shrink:0;margin-left:.5rem;padding:0;font-size:.75rem;font-weight:700}.email-change-btn[data-v-e748275c]:hover{text-decoration:underline}.forgot-pw-container[data-v-e748275c]{justify-content:flex-end;margin-top:-.5rem;display:flex}.forgot-pw-btn[data-v-e748275c]{cursor:pointer;color:var(--primary-blue);background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600}.forgot-pw-btn[data-v-e748275c]:hover{text-decoration:underline}.login-form[data-v-e748275c]{flex-direction:column;gap:1.25rem;display:flex}.activate-form[data-v-e748275c]{gap:1rem}.form-group[data-v-e748275c]{text-align:left;flex-direction:column;gap:.5rem;display:flex}.form-group label[data-v-e748275c]{color:var(--text-mute);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:flex-end;padding-left:.5rem;font-size:.85rem;font-weight:700;display:flex}.label-thai[data-v-e748275c]{color:var(--text-mute);opacity:.75;font-size:.72rem}.age-group-options[data-v-e748275c]{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.age-option-card[data-v-e748275c]{border:2px solid var(--border);cursor:pointer;background:var(--input-bg);border-radius:.85rem;align-items:center;gap:.75rem;padding:.85rem 1rem;transition:all .2s;display:flex}.age-option-card input[type=radio][data-v-e748275c]{display:none}.age-option-card.selected[data-v-e748275c]{border-color:var(--primary-blue);background:rgba(var(--primary-blue-rgb), .06);box-shadow:0 0 0 1px rgba(var(--primary-blue-rgb), .2)}.age-option-card[data-v-e748275c]:hover:not(.selected){border-color:var(--border-hover,#fff3)}.age-option-content[data-v-e748275c]{flex-direction:column;gap:.1rem;display:flex}.age-range[data-v-e748275c]{color:var(--text-main);font-size:1.1rem;font-weight:800;line-height:1.1}.age-desc[data-v-e748275c]{color:var(--text-mute);font-size:.72rem;font-weight:500}.login-btn[data-v-e748275c]{flex-direction:column;width:100%;height:auto;margin-top:.25rem;padding:.6rem 1.5rem;line-height:1.25}.btn-sub-thai[data-v-e748275c]{color:#fffc;font-size:.7rem}.feedback-box[data-v-e748275c]{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:2.5rem;font-size:.9rem;display:flex}.error-msg[data-v-e748275c]{color:var(--secondary-red);font-size:.85rem;font-weight:500}.success-msg[data-v-e748275c]{color:#10b981;flex-direction:column;align-items:center;gap:.2rem;font-weight:500;display:flex}.success-en[data-v-e748275c]{color:#10b981;opacity:.9;font-size:.75rem}.form-input-hint[data-v-e748275c]{color:var(--text-mute);opacity:.8;margin-top:.2rem;padding-left:.5rem;font-size:.72rem;font-weight:500;display:block}.recaptcha-terms[data-v-e748275c]{color:var(--text-mute);text-align:center;opacity:.8;margin-top:-.5rem;font-size:.65rem}.recaptcha-terms a[data-v-e748275c]{color:var(--primary-blue);text-decoration:none}.recaptcha-terms a[data-v-e748275c]:hover{text-decoration:underline}@media (width<=480px){.login-card[data-v-e748275c]{gap:1.25rem;padding:2rem 1.25rem 1.5rem}.login-header h1[data-v-e748275c]{font-size:1.8rem}.age-group-options[data-v-e748275c]{grid-template-columns:1fr;gap:.5rem}}.login-divider[data-v-e748275c]{align-items:center;gap:1rem;width:100%;margin:.5rem 0;display:flex}.divider-line[data-v-e748275c]{background:var(--border);opacity:.5;flex-grow:1;height:1px}.divider-text[data-v-e748275c]{color:var(--text-mute);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700}.google-btn-wrapper[data-v-e748275c]{flex-direction:column;align-items:center;gap:.75rem;width:100%;display:flex}#google-signin-btn[data-v-e748275c]{justify-content:center;width:100%;display:flex}.dev-mock-btn[data-v-e748275c]{color:#ef4444;cursor:pointer;background:#ef44441a;border:1px dashed #ef4444;border-radius:9999px;width:100%;max-width:320px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:all .2s}.dev-mock-btn[data-v-e748275c]:hover{background:#ef444433}.passkey-btn-wrapper[data-v-e748275c]{flex-direction:column;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;display:flex}.passkey-login-btn[data-v-e748275c]{background:var(--bg,#fff);color:var(--text-main,#0f172a);border:1px solid var(--border);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;width:100%;max-width:320px;padding:.6rem 1rem;font-size:.85rem;font-weight:700;line-height:1.25;transition:all .2s;display:flex}.passkey-login-btn[data-v-e748275c]:hover:not(:disabled){background:rgba(var(--primary-blue-rgb), .05);border-color:var(--primary-blue)}.passkey-login-btn.secondary-btn[data-v-e748275c]{padding:.5rem 1rem;font-weight:600}.dev-mock-passkey-btn[data-v-e748275c]{color:#10b981;cursor:pointer;background:#10b9811a;border:1px dashed #10b981;border-radius:9999px;width:100%;max-width:320px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:all .2s}.dev-mock-passkey-btn[data-v-e748275c]:hover{background:#10b98133}.remember-me-group[data-v-e748275c]{text-align:left;margin-top:-.25rem;margin-bottom:.25rem}.remember-me-label[data-v-e748275c]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding-left:.5rem;display:flex;color:var(--text-mute)!important;text-transform:none!important;letter-spacing:0!important;font-size:.82rem!important;font-weight:500!important}.remember-me-label input[type=checkbox][data-v-e748275c]{width:1rem;height:1rem;accent-color:var(--primary-blue);cursor:pointer}.audio-player-widget[data-v-b8852a03]{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:0 4px 16px var(--glass-shadow);box-sizing:border-box;border-radius:9999px;justify-content:space-between;align-items:center;gap:.75rem;width:100%;max-width:480px;padding:.5rem .8rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.audio-player-widget.is-playing[data-v-b8852a03]{border-color:var(--primary-blue);box-shadow:0 0 15px rgba(var(--primary-blue-rgb), .15)}.audio-player-widget.disabled[data-v-b8852a03]{opacity:.5;cursor:not-allowed}.player-left[data-v-b8852a03]{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.player-right[data-v-b8852a03]{flex-shrink:0}.play-trigger-btn[data-v-b8852a03]{cursor:pointer;box-shadow:0 2px 8px rgba(var(--primary-blue-rgb), .15);transition:all .25s cubic-bezier(.4,0,.2,1);color:var(--primary-blue)!important;appearance:none!important;aspect-ratio:1!important;box-sizing:border-box!important;background:#e0f2fe!important;border:0!important;border-radius:50%!important;outline:none!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:0!important;display:inline-flex!important;overflow:hidden!important}.play-trigger-btn[data-v-b8852a03]:hover:not(:disabled){box-shadow:0 0 12px rgba(var(--primary-blue-rgb), .3);transform:scale(1.08);background:#bae6fd!important}.play-trigger-btn[data-v-b8852a03]:disabled{cursor:not-allowed;box-shadow:none;background:var(--border)!important;color:var(--text-mute)!important}html.dark{opacity:.9;background:var(--primary-blue)!important;color:#fff!important;background:var(--primary-blue)!important}.play-icon[data-v-b8852a03],.stop-icon[data-v-b8852a03]{justify-content:center;align-items:center;width:100%;height:100%;font-size:.9rem;line-height:1;display:inline-flex}.player-label[data-v-b8852a03]{color:var(--text-mute);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:800}.audio-wave-bars[data-v-b8852a03]{flex-shrink:0;align-items:center;gap:3px;height:20px;display:flex}.bar[data-v-b8852a03]{background:var(--primary-blue);border-radius:99px;width:3px;height:4px;animation:1.2s ease-in-out infinite wavePulse-b8852a03;display:inline-block}@keyframes wavePulse-b8852a03{0%,to{height:4px}50%{height:18px}}.bar-1[data-v-b8852a03]{animation-delay:.1s}.bar-2[data-v-b8852a03]{animation-delay:.3s}.bar-3[data-v-b8852a03]{animation-delay:.5s}.bar-4[data-v-b8852a03]{animation-delay:.2s}.speed-toggle-btn[data-v-b8852a03]{background:rgba(var(--primary-blue-rgb), .05);border:1px solid var(--border);color:var(--text-main);box-sizing:border-box;padding:.35rem .9rem;font-size:.75rem;font-weight:700}.speed-toggle-btn[data-v-b8852a03]:hover:not(:disabled){background:rgba(var(--primary-blue-rgb), .08);border-color:var(--primary-blue)}.speed-toggle-btn.is-slow[data-v-b8852a03]{color:var(--secondary-red);background:rgba(var(--secondary-red-rgb), .05);border-color:rgba(var(--secondary-red-rgb), .15)}.speed-toggle-btn.is-slow[data-v-b8852a03]:hover:not(:disabled){background:rgba(var(--secondary-red-rgb), .08);border-color:var(--secondary-red)}@media (width<=480px){.audio-player-widget[data-v-b8852a03]{gap:.4rem;padding:.35rem .6rem}.player-info[data-v-b8852a03]{display:none}.play-trigger-btn[data-v-b8852a03]{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important}.speed-toggle-btn[data-v-b8852a03]{padding:.25rem .5rem;font-size:.7rem}.audio-wave-bars[data-v-b8852a03]{gap:2px;height:16px}.bar[data-v-b8852a03]{width:2px}}.studycast-widget[data-v-1dc2b812]{flex-direction:column;gap:1rem;margin-top:1rem;padding:1.5rem;animation:.4s ease-out fadeIn;display:flex}.sc-header[data-v-1dc2b812]{align-items:center;gap:1rem;display:flex}.sc-icon[data-v-1dc2b812]{font-size:2rem}.sc-titles h3[data-v-1dc2b812]{color:var(--text-main);margin:0;font-size:1.25rem}.sub-title[data-v-1dc2b812]{color:var(--text-mute);font-size:.9rem}.sc-week-badge[data-v-1dc2b812]{background:var(--primary-blue,#3b82f6);color:#fff;border-radius:9999px;margin-left:auto;padding:.25rem .75rem;font-size:.875rem;font-weight:600}.sc-tagline[data-v-1dc2b812]{color:#10b981;margin-top:-.5rem;font-size:.875rem;font-weight:500}.sc-player-controls[data-v-1dc2b812]{background:#0000000d;border-radius:12px;align-items:center;gap:1rem;padding:1rem;display:flex}html.dark{background:#0003}.play-btn[data-v-1dc2b812]{min-width:100px}.sc-listening-text[data-v-1dc2b812]{color:var(--text-mute);font-size:.95rem}.sc-nudge-message[data-v-1dc2b812]{border-left:4px solid var(--danger-red,#ef4444);background:#ef44441a;border-radius:4px 12px 12px 4px;padding:1rem}.eng-nudge[data-v-1dc2b812]{color:var(--text-main);margin:0 0 .5rem;font-size:.95rem}.thai-nudge[data-v-1dc2b812]{color:var(--text-mute);margin:0;font-size:.9rem}.dashboard-container[data-v-07c2e8f1]{box-sizing:border-box;width:100%}.dashboard-grid[data-v-07c2e8f1]{grid-template-columns:1.4fr 1fr;align-items:start;gap:2rem;width:100%;display:grid}.pathway-progress-column[data-v-07c2e8f1]{flex-direction:column;gap:1.5rem;width:100%;display:flex}.glance-and-word-section[data-v-07c2e8f1]{flex-direction:column;gap:1.5rem;display:flex}.dashboard-top-row[data-v-07c2e8f1]{grid-template-columns:1.2fr 1fr;gap:2rem;width:100%;margin-bottom:2rem;display:grid}@media (width<=900px){.dashboard-top-row[data-v-07c2e8f1]{grid-template-columns:1fr;gap:1.5rem}}.daily-review-alert-banner[data-v-07c2e8f1]{box-sizing:border-box;text-align:left;border-left:5px solid var(--secondary-red);background:linear-gradient(135deg,#ef44440f 0%,#ef444403 100%);flex-direction:column;justify-content:center;height:100%;padding:1.8rem;display:flex}.daily-review-alert-banner.success[data-v-07c2e8f1]{background:linear-gradient(135deg,#10b9810f 0%,#10b98103 100%);border-left-color:#10b981}.alert-recommendation-badge.success-badge[data-v-07c2e8f1]{color:#10b981}.alert-cta-btn.success-btn[data-v-07c2e8f1]{color:#fff!important;background:#10b981!important;border:1px solid #10b981!important}.alert-cta-btn.success-btn span[data-v-07c2e8f1]{color:#fff!important}.alert-cta-btn.success-btn[data-v-07c2e8f1]:hover{background:#059669!important;border-color:#059669!important;box-shadow:0 0 15px #10b98166!important}.alert-banner-content[data-v-07c2e8f1]{justify-content:space-between;align-items:center;gap:2rem;width:100%;display:flex}.alert-left[data-v-07c2e8f1]{flex-direction:column;gap:.3rem;display:flex}.alert-recommendation-badge[data-v-07c2e8f1]{color:var(--secondary-red);letter-spacing:.05em;font-size:.72rem;font-weight:800}.alert-title[data-v-07c2e8f1]{color:var(--text-main);margin:0;font-size:1.25rem;font-weight:700}.alert-title-thai[data-v-07c2e8f1]{color:var(--text-mute);font-size:.8rem}.alert-desc[data-v-07c2e8f1]{color:var(--text-mute);max-width:600px;margin:.2rem 0 0;font-size:.88rem;line-height:1.4}.alert-cta-btn[data-v-07c2e8f1]{flex-shrink:0;background:var(--secondary-red)!important;color:#fff!important}.alert-cta-btn span[data-v-07c2e8f1]{color:#fff!important}.alert-cta-btn[data-v-07c2e8f1]:hover{transform:translateY(-1px);box-shadow:0 0 15px #ef444466!important}.active-lesson-hero-banner[data-v-07c2e8f1]{box-sizing:border-box;text-align:left;border-left:5px solid var(--primary-blue);background:linear-gradient(135deg, rgba(var(--primary-blue-rgb), .06) 0%, rgba(var(--primary-blue-rgb), .01) 100%);flex-direction:column;justify-content:center;height:100%;padding:2.2rem;display:flex}.active-lesson-hero-banner.complete[data-v-07c2e8f1]{background:linear-gradient(135deg,#10b9810f 0%,#10b98103 100%);border-left-color:#10b981;padding:3rem 2rem}.hero-banner-content[data-v-07c2e8f1]{justify-content:space-between;align-items:center;gap:2rem;display:flex}.hero-left[data-v-07c2e8f1]{flex-direction:column;gap:.4rem;display:flex}.hero-recommendation-badge[data-v-07c2e8f1]{color:var(--primary-blue);letter-spacing:.05em;font-size:.72rem;font-weight:800}.hero-unit-title[data-v-07c2e8f1]{color:var(--text-mute);font-size:.8rem;font-weight:700}.hero-lesson-title[data-v-07c2e8f1]{color:var(--text-main);margin:0;font-size:2.2rem;font-weight:800;line-height:1.1}.hero-lesson-title-thai[data-v-07c2e8f1]{color:var(--primary-blue);margin-top:.1rem;font-size:1.15rem;font-weight:700}.hero-lesson-desc[data-v-07c2e8f1]{color:var(--text-mute);max-width:480px;margin-top:.6rem;font-size:.88rem;line-height:1.4}.hero-cta-btn[data-v-07c2e8f1]{flex-shrink:0;padding:.8rem 2rem}.learning-pathway-section[data-v-07c2e8f1]{box-sizing:border-box;text-align:left;padding:2rem}.pathway-header[data-v-07c2e8f1]{margin-bottom:2rem}.pathway-header h3[data-v-07c2e8f1]{color:var(--text-main);margin:0;font-size:1.3rem}.pathway-sub[data-v-07c2e8f1]{color:var(--text-mute);margin-top:.15rem;font-size:.8rem}.units-timeline-container[data-v-07c2e8f1]{flex-direction:column;gap:2rem;width:100%;display:flex}.unit-group-timeline[data-v-07c2e8f1]{flex-direction:column;gap:1.5rem;width:100%;display:flex}.unit-timeline-header-card[data-v-07c2e8f1]{border:1px solid var(--border);border-left:4px solid var(--primary-blue);text-align:left;cursor:pointer;background:#ffffff05;border-radius:12px;padding:1.25rem 1.5rem;transition:all .25s cubic-bezier(.4,0,.2,1)}.unit-timeline-header-card[data-v-07c2e8f1]:hover{background:rgba(var(--primary-blue-rgb), .04);border-color:rgba(var(--primary-blue-rgb), .2);box-shadow:0 4px 12px rgba(var(--primary-blue-rgb), .05);transform:translateY(-1px)}.unit-timeline-header-card.unit-locked[data-v-07c2e8f1]{opacity:.55;border-left-color:var(--border)}.unit-timeline-header-card.unit-locked[data-v-07c2e8f1]:hover{border-color:var(--border);box-shadow:none;background:#ffffff08;transform:none}.unit-header-meta[data-v-07c2e8f1]{text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute);justify-content:space-between;margin-bottom:.25rem;font-size:.72rem;font-weight:800;display:flex}.unit-number-tag[data-v-07c2e8f1]{color:var(--primary-blue)}.unit-title-eng[data-v-07c2e8f1]{color:var(--text-main);margin:0;font-size:1.1rem;font-weight:700}.unit-title-thai[data-v-07c2e8f1]{color:var(--text-mute);margin-top:.1rem;font-size:.78rem}.lessons-vertical-timeline[data-v-07c2e8f1]{flex-direction:column;padding-left:2.2rem;display:flex;position:relative}.lesson-timeline-node-item[data-v-07c2e8f1]{align-items:flex-start;gap:1.5rem;padding-bottom:1.5rem;display:flex;position:relative}.lesson-timeline-node-item[data-v-07c2e8f1]:last-child{padding-bottom:.5rem}.timeline-line-connector[data-v-07c2e8f1]{background:var(--border);z-index:1;width:2px;position:absolute;top:1.8rem;bottom:0;left:-1.45rem}.lesson-timeline-node-item:last-child .timeline-line-connector[data-v-07c2e8f1]{display:none}.lesson-timeline-node-item.completed .timeline-line-connector[data-v-07c2e8f1]{background:#10b981}.node-bullet-wrapper[data-v-07c2e8f1]{z-index:2;cursor:pointer;position:absolute;top:.4rem;left:-2.1rem}.node-bullet-core[data-v-07c2e8f1]{border:2px solid var(--border);background:var(--bg);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:800;transition:all .25s;display:flex}.completed .node-bullet-core[data-v-07c2e8f1]{color:#fff;background:#10b981;border-color:#10b981}.active .node-bullet-core[data-v-07c2e8f1]{border-color:var(--primary-blue);background:var(--bg);box-shadow:0 0 0 4px rgba(var(--primary-blue-rgb), .12)}.bullet-check[data-v-07c2e8f1]{line-height:1}.bullet-lock[data-v-07c2e8f1]{color:var(--text-mute);font-size:.6rem}.bullet-active-indicator[data-v-07c2e8f1]{background:var(--primary-blue);border-radius:50%;width:8px;height:8px}.lesson-node-card-body[data-v-07c2e8f1]{border:1px solid var(--border);background:var(--glass-bg);cursor:pointer;text-align:left;border-radius:10px;flex:1;padding:1rem 1.25rem;transition:all .25s cubic-bezier(.4,0,.2,1)}.lesson-node-card-body[data-v-07c2e8f1]:hover:not(.locked){border-color:var(--primary-blue);box-shadow:0 4px 12px var(--glass-shadow);transform:translateY(-2px)}.lesson-node-card-body.active[data-v-07c2e8f1]{border-color:var(--primary-blue);background:linear-gradient(90deg, rgba(var(--primary-blue-rgb), .03) 0%, #fff0 100%);box-shadow:0 4px 15px rgba(var(--primary-blue-rgb), .08)}.lesson-node-card-body.locked[data-v-07c2e8f1]{opacity:.5;cursor:not-allowed}.lesson-number-sub[data-v-07c2e8f1]{color:var(--text-mute);text-transform:uppercase;font-size:.68rem;font-weight:800}.lesson-node-title[data-v-07c2e8f1]{color:var(--text-main);margin:0;font-size:.95rem;font-weight:700;line-height:1.25}.lesson-node-title-thai[data-v-07c2e8f1]{color:var(--text-mute);margin-top:.05rem;font-size:.72rem}.lesson-node-stats-bar[data-v-07c2e8f1]{gap:.4rem;margin-top:.5rem;display:flex}.lesson-stat-pill[data-v-07c2e8f1]{border:1px solid var(--border);color:var(--text-mute);background:#00000008;border-radius:4px;padding:.1rem .4rem;font-size:.65rem;font-weight:700}html.dark .lesson-stat-pill[data-v-07c2e8f1]{background:#ffffff08}.gamification-card[data-v-07c2e8f1]{padding:1rem}.gamification-grid[data-v-07c2e8f1]{grid-template-columns:1fr 1fr 1fr;gap:.5rem;display:grid}.gamification-item[data-v-07c2e8f1]{background:rgba(var(--primary-blue-rgb), .02);border:1px solid var(--border);border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:all .2s;display:flex}.gamification-item[data-v-07c2e8f1]:hover{border-color:var(--primary-blue);transform:translateY(-1px)}.gamification-item.shield-stat.shield-active[data-v-07c2e8f1]{background:#10b9810a;border-color:#10b98133}.flame-normal[data-v-07c2e8f1]{filter:drop-shadow(0 0 2px #ff960066)}.flame-bronze[data-v-07c2e8f1]{filter:drop-shadow(0 0 4px #cd7f3299)}.flame-silver[data-v-07c2e8f1]{filter:drop-shadow(0 0 6px #c0c0c0cc)}.flame-gold[data-v-07c2e8f1]{filter:drop-shadow(0 0 8px #ffd700e6);animation:2s ease-in-out infinite gold-pulse-07c2e8f1;display:inline-block}@keyframes gold-pulse-07c2e8f1{0%{filter:drop-shadow(0 0 8px #ffd70099);transform:scale(1)}50%{filter:drop-shadow(0 0 12px gold);transform:scale(1.15)}to{filter:drop-shadow(0 0 8px #ffd70099);transform:scale(1)}}.g-icon[data-v-07c2e8f1]{font-size:1.2rem}.g-info[data-v-07c2e8f1]{text-align:left;flex-direction:column;line-height:1.1;display:flex}.g-val[data-v-07c2e8f1]{color:var(--text-main);font-size:.8rem;font-weight:800}.g-label[data-v-07c2e8f1]{color:var(--text-mute);font-size:.6rem}.activity-tile.conversation-tile[data-v-07c2e8f1]{box-sizing:border-box;cursor:pointer;text-align:left;border-left:4px solid var(--primary-blue);background:linear-gradient(135deg, rgba(var(--primary-blue-rgb), .02) 0%, #fff0 100%);flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.activity-tile.conversation-tile[data-v-07c2e8f1]:hover{border-color:var(--primary-blue);box-shadow:0 4px 12px var(--glass-shadow);transform:translateY(-2px)}.tile-left-content[data-v-07c2e8f1]{align-items:center;gap:.75rem;display:flex}.tile-icon[data-v-07c2e8f1]{font-size:1.8rem}.tile-titles h3[data-v-07c2e8f1]{margin:0;font-size:1.1rem}.tile-title-thai[data-v-07c2e8f1]{font-size:.75rem}.conversation-indicator[data-v-07c2e8f1]{border:1px dashed var(--border);box-sizing:border-box;background:#00000003;border-radius:6px;flex-direction:column;gap:.15rem;width:100%;padding:.5rem .8rem;display:flex}html.dark .conversation-indicator[data-v-07c2e8f1]{background:#ffffff03}.module-status[data-v-07c2e8f1]{color:var(--text-mute);font-size:.62rem;font-weight:800}.module-name[data-v-07c2e8f1]{align-items:center;gap:.4rem;font-size:.88rem;font-weight:800;display:flex}.module-name-thai[data-v-07c2e8f1]{color:var(--text-mute);font-size:.72rem}.conversation-btn[data-v-07c2e8f1]{width:100%;padding:.5rem;background:var(--primary-blue)!important;border-color:var(--primary-blue)!important}.conversation-btn[data-v-07c2e8f1]:hover{box-shadow:0 0 15px rgba(var(--primary-blue-rgb), .4)!important}.skills-glance-card[data-v-07c2e8f1]{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.card-titles[data-v-07c2e8f1]{text-align:left}.card-titles h3[data-v-07c2e8f1]{margin:0;font-size:1.1rem}.skills-progress-grid[data-v-07c2e8f1]{flex-direction:column;gap:.85rem;display:flex}.skill-progress-item[data-v-07c2e8f1]{flex-direction:column;gap:.3rem;display:flex}.skill-info[data-v-07c2e8f1]{justify-content:space-between;font-size:.78rem;font-weight:700;display:flex}.sk-bar-track[data-v-07c2e8f1]{background:#0000000a;border-radius:99px;width:100%;height:5px;overflow:hidden}.sk-bar-fill[data-v-07c2e8f1]{background:var(--primary-blue);border-radius:99px;height:100%}.word-card[data-v-07c2e8f1]{text-align:left;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.card-header-badge[data-v-07c2e8f1]{flex-direction:column;display:flex}.badge-tag[data-v-07c2e8f1]{color:var(--primary-blue);letter-spacing:.05em;font-size:.7rem;font-weight:800}.badge-tag-thai[data-v-07c2e8f1]{color:var(--text-mute);font-size:.6rem}.word-english[data-v-07c2e8f1]{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;margin:0;font-size:clamp(1.6rem,7vw,2.2rem);font-weight:800}.word-pronunciation-guides[data-v-07c2e8f1]{flex-wrap:wrap;gap:.4rem;margin:.4rem 0;display:flex}.thai-pron-badge[data-v-07c2e8f1]{color:var(--primary-blue);background:rgba(var(--primary-blue-rgb), .05);border-radius:4px;padding:.15rem .5rem;font-size:.8rem;font-weight:700}.ipa-badge[data-v-07c2e8f1]{font-size:.75rem;font-family:var(--mono);color:var(--text-mute);background:#00000005;border-radius:4px;padding:.15rem .5rem}.word-thai-meaning[data-v-07c2e8f1]{color:var(--text-main);font-size:1.1rem;font-weight:700;display:block}.phrase-show-box[data-v-07c2e8f1]{background:rgba(var(--primary-blue-rgb), .02);border-left:3px solid var(--primary-blue);border-radius:8px;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.phrase-label[data-v-07c2e8f1]{color:var(--text-mute);font-size:.68rem;font-weight:800}.phrase-english[data-v-07c2e8f1]{margin:0;font-size:.95rem;font-weight:700}.phrase-thai-meaning[data-v-07c2e8f1]{color:var(--text-mute);margin:0;font-size:.8rem}.audio-player-row-center[data-v-07c2e8f1]{justify-content:center;width:100%;margin:1.25rem 0;display:flex}.animate-fade-in[data-v-07c2e8f1]{animation:.4s ease-out forwards fadeIn-07c2e8f1}@keyframes fadeIn-07c2e8f1{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-pulse[data-v-07c2e8f1]{animation:2s infinite pulseNode-07c2e8f1}@keyframes pulseNode-07c2e8f1{0%{box-shadow:0 0 0 0 rgba(var(--primary-blue-rgb), .4);transform:scale(1)}70%{box-shadow:0 0 0 6px rgba(var(--primary-blue-rgb), 0);transform:scale(1.05)}to{box-shadow:0 0 0 0 rgba(var(--primary-blue-rgb), 0);transform:scale(1)}}@media (width<=900px){.dashboard-grid[data-v-07c2e8f1]{grid-template-columns:1fr}}.dashboard-welcome-hero[data-v-07c2e8f1]{box-sizing:border-box;justify-content:space-between;align-items:center;gap:2rem;width:100%;margin-bottom:2rem;padding:1.5rem 2rem;display:flex}.welcome-hero-left[data-v-07c2e8f1]{text-align:left;flex:1}.welcome-header[data-v-07c2e8f1]{color:var(--text-main);margin:0;font-size:1.8rem;font-weight:800}.h1-thai-compact[data-v-07c2e8f1]{color:var(--text-mute);margin-top:.15rem;font-size:.9rem;display:block}.welcome-mastery-status[data-v-07c2e8f1]{flex-direction:column;gap:.35rem;max-width:400px;margin-top:1rem;display:flex}.mastery-label-row-compact[data-v-07c2e8f1]{color:var(--text-main);justify-content:space-between;font-size:.88rem;font-weight:700;display:flex}.mastery-bar-track-compact[data-v-07c2e8f1]{background:#ffffff14;border-radius:4px;width:100%;height:8px;overflow:hidden}html.dark .mastery-bar-track-compact[data-v-07c2e8f1]{background:#ffffff0d}.mastery-bar-fill-compact[data-v-07c2e8f1]{border-radius:4px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.mastery-thai-compact[data-v-07c2e8f1]{color:var(--text-mute);font-size:.75rem}.welcome-hero-right[data-v-07c2e8f1]{flex:1;justify-content:flex-end;display:flex}.welcome-xp-goal[data-v-07c2e8f1]{text-align:left;border-left:1px solid var(--border);align-items:center;gap:1.5rem;padding-left:1.5rem;display:flex}.xp-goal-ring-wrapper[data-v-07c2e8f1]{flex-shrink:0;justify-content:center;align-items:center;width:70px;height:70px;display:flex;position:relative}.progress-ring-svg[data-v-07c2e8f1]{transform:rotate(-90deg)}.progress-ring-fg[data-v-07c2e8f1]{transform-origin:50%;transition:stroke-dashoffset .35s}.xp-ring-text[data-v-07c2e8f1]{flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute}.xp-earned-num[data-v-07c2e8f1]{color:var(--text-main);font-size:1.2rem;font-weight:800}.xp-lbl[data-v-07c2e8f1]{color:var(--text-mute);text-transform:uppercase;font-size:.65rem;font-weight:800}.xp-start-msg[data-v-07c2e8f1]{color:var(--color-accent);margin-top:2px;font-size:.65rem;font-weight:700}.xp-goal-labels[data-v-07c2e8f1]{flex-direction:column;gap:.15rem;display:flex}.xp-goal-title[data-v-07c2e8f1]{color:var(--text-main);font-size:.85rem;font-weight:700}.xp-goal-desc[data-v-07c2e8f1]{color:var(--text-mute);font-size:.78rem}.xp-goal-desc.completed[data-v-07c2e8f1]{color:#10b981;font-weight:700}@media (width<=850px){.dashboard-welcome-hero[data-v-07c2e8f1]{flex-direction:column;align-items:stretch;gap:1.5rem;padding:1.25rem}.welcome-hero-right[data-v-07c2e8f1]{justify-content:flex-start}.welcome-xp-goal[data-v-07c2e8f1]{border-left:none;border-top:1px solid var(--border);width:100%;padding-top:1rem;padding-left:0}.hero-banner-content[data-v-07c2e8f1],.alert-banner-content[data-v-07c2e8f1]{flex-direction:column;align-items:stretch;gap:1.25rem}.hero-right-action[data-v-07c2e8f1],.alert-right-action[data-v-07c2e8f1]{width:100%}.hero-cta-btn[data-v-07c2e8f1],.alert-cta-btn[data-v-07c2e8f1]{box-sizing:border-box;width:100%}.active-lesson-hero-banner[data-v-07c2e8f1],.daily-review-alert-banner[data-v-07c2e8f1]{padding:1.5rem 1.25rem}}.clickable-card[data-v-07c2e8f1]{cursor:pointer;transition:transform .2s,box-shadow .2s}.clickable-card[data-v-07c2e8f1]:hover{transform:translateY(-2px)scale(1.01);box-shadow:0 8px 24px #0000001f}.card-header-with-badge[data-v-07c2e8f1]{justify-content:space-between;align-items:center;width:100%;display:flex}.cefr-badge-home[data-v-07c2e8f1]{border:1px solid var(--color-accent,#00bfff);background:#00bfff26;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;min-width:45px;padding:.2rem .5rem;display:flex;box-shadow:0 0 10px #00bfff1a}.cefr-badge-home .cefr-label[data-v-07c2e8f1]{color:var(--color-text-mute,#fff9);letter-spacing:.05em;text-transform:uppercase;font-size:.55rem;font-weight:700}.cefr-badge-home .cefr-value[data-v-07c2e8f1]{color:var(--color-accent,#00bfff);font-size:1rem;font-weight:800}.goal-achieved-burst .progress-ring-fg[data-v-07c2e8f1]{animation:1s ease-out forwards strokePulse-07c2e8f1}@keyframes strokePulse-07c2e8f1{0%{opacity:1;transform:scale(1)}50%{opacity:.8;stroke:#10b981;transform:scale(1.1)}to{opacity:1;stroke:#10b981;transform:scale(1)}}.goal-toast-banner[data-v-07c2e8f1]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;color:#fff;background:#10b981f2;border-radius:999px;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;position:absolute;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 10px 25px #10b98166}.animate-slide-down[data-v-07c2e8f1]{animation:.5s cubic-bezier(.175,.885,.32,1.275) forwards slideDownFade-07c2e8f1}@keyframes slideDownFade-07c2e8f1{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.toast-icon[data-v-07c2e8f1]{font-size:1.5rem}.toast-content[data-v-07c2e8f1]{flex-direction:column;display:flex}.toast-title[data-v-07c2e8f1]{font-size:.95rem;font-weight:800}.toast-thai[data-v-07c2e8f1]{opacity:.9;font-size:.75rem}.vocabulary-card-skeleton[data-v-e226a2da]{box-sizing:border-box;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:500px;height:320px;margin:2rem auto;padding:2.5rem;display:flex}.skeleton-title[data-v-e226a2da]{width:60%;height:2.5rem}.skeleton-text[data-v-e226a2da]{width:40%;height:1.2rem;margin-top:.5rem}.skeleton-actions[data-v-e226a2da]{justify-content:center;gap:1rem;width:100%;margin-top:2rem;display:flex}.skeleton-btn[data-v-e226a2da]{border-radius:9999px;width:120px;height:2.2rem}.kru-fon-chat-widget-wrapper[data-v-282e4c71]{bottom:calc(1.5rem + env(safe-area-inset-bottom));left:calc(1.5rem + env(safe-area-inset-left));z-index:1000;font-family:var(--sans);position:fixed}.chat-open .chat-trigger-pill[data-v-282e4c71]{display:none!important}.chat-trigger-pill[data-v-282e4c71]{white-space:nowrap;box-shadow:0 4px 16px rgba(var(--primary-blue-rgb), .25);cursor:pointer;border:1px solid rgba(var(--primary-blue-rgb), .3);border-radius:9999px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.88rem;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;bottom:0;left:0}.chat-trigger-pill[data-v-282e4c71]:hover{box-shadow:0 6px 20px rgba(var(--primary-blue-rgb), .35);transform:translateY(-2px)scale(1.02)}.avatar-icon[data-v-282e4c71]{font-size:1.15rem}.status-dot[data-v-282e4c71]{font-size:.65rem}.nudge-badge[data-v-282e4c71]{background:var(--secondary-red);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.72rem;font-weight:800;animation:1.5s infinite pulse-badge-282e4c71;display:flex;position:absolute;top:-6px;left:-4px;box-shadow:0 2px 6px #ef44444d}@keyframes pulse-badge-282e4c71{0%{transform:scale(1);box-shadow:0 0 #ef444480}70%{transform:scale(1.1);box-shadow:0 0 0 6px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}.chat-room-panel[data-v-282e4c71]{transform-origin:0 100%;box-sizing:border-box;border-radius:16px;flex-direction:column;width:380px;height:520px;display:flex;position:absolute;bottom:0;left:0;overflow:hidden;border:1px solid rgba(var(--primary-blue-rgb), .3)!important;box-shadow:0 16px 40px rgba(var(--primary-blue-rgb), .12), 0 8px 24px #0000001a!important;background:#fffffff2!important;transition:border-color .25s,box-shadow .25s!important}.chat-room-panel[data-v-282e4c71]:hover{border-color:rgba(var(--primary-blue-rgb), .5)!important;box-shadow:0 16px 44px rgba(var(--primary-blue-rgb), .22), 0 8px 32px #00000026!important}html.dark{border:1px solid rgba(var(--primary-blue-rgb), .35)!important;box-shadow:0 16px 40px rgba(var(--primary-blue-rgb), .2), 0 8px 24px #00000073!important;border-color:rgba(var(--primary-blue-rgb), .55)!important;box-shadow:0 16px 44px rgba(var(--primary-blue-rgb), .35), 0 8px 32px #0000008c!important;background:#0f172af5!important}.panel-header[data-v-282e4c71]{border-bottom:1px solid var(--border);background:#00000005;justify-content:space-between;align-items:center;padding:.85rem 1.2rem;display:flex}.header-left[data-v-282e4c71]{text-align:left;align-items:center;gap:.65rem;display:flex}.header-avatar[data-v-282e4c71]{font-size:1.6rem}.header-titles h3[data-v-282e4c71]{color:var(--text-main);margin:0;font-size:.95rem;font-weight:800}.header-status[data-v-282e4c71]{color:#10b981;font-size:.68rem;font-weight:700}.header-status.writing[data-v-282e4c71]{color:var(--primary-blue);animation:1.5s ease-in-out infinite pulse-writing-282e4c71}@keyframes pulse-writing-282e4c71{0%,to{opacity:.5}50%{opacity:1}}.header-right[data-v-282e4c71]{align-items:center;gap:.5rem;display:flex}.header-action-btn[data-v-282e4c71]{cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.05rem;transition:all .2s;display:flex;color:var(--text-mute)!important;background:0 0!important;border:0!important}.header-action-btn[data-v-282e4c71]:hover{color:var(--text-main)!important;background:#0000000d!important}.header-action-btn.close-btn[data-v-282e4c71]{font-size:.85rem}.panel-messages-container[data-v-282e4c71]{box-sizing:border-box;background:#00000003;flex-direction:column;flex:1;gap:1rem;padding:1.25rem 1rem;display:flex;overflow-y:auto}.chat-empty-state[data-v-282e4c71]{text-align:center;flex-direction:column;align-items:center;max-width:300px;margin:auto;padding:1.5rem;display:flex}.empty-icon[data-v-282e4c71]{margin-bottom:.75rem;font-size:3rem}.chat-empty-state h4[data-v-282e4c71]{color:var(--text-main);margin:0 0 .5rem;font-size:1.05rem;font-weight:800}.chat-empty-state p[data-v-282e4c71]{color:var(--text-mute);margin:.25rem 0;font-size:.78rem;line-height:1.4}.chat-bubble-row[data-v-282e4c71]{align-items:flex-start;gap:.6rem;width:100%;display:flex}.chat-bubble-row.user[data-v-282e4c71]{justify-content:flex-end}.bubble-avatar[data-v-282e4c71]{flex-shrink:0;margin-top:2px;font-size:1.3rem}.bubble-body[data-v-282e4c71]{text-align:left;box-sizing:border-box;border-radius:14px;max-width:75%;padding:.75rem 1rem;font-size:.88rem;line-height:1.45}.bubble-body.assistant[data-v-282e4c71]{background:var(--bg);color:var(--text-main);border:1px solid var(--border);border-top-left-radius:2px;box-shadow:0 2px 8px #00000008}.bubble-body.user[data-v-282e4c71]{background:var(--primary-blue);color:#fff;box-shadow:0 2px 8px rgba(var(--primary-blue-rgb), .15);border-top-right-radius:2px}.english-response[data-v-282e4c71]{margin:0;font-weight:500}.thai-explanation-block[data-v-282e4c71]{width:100%;margin-top:.4rem}.bubble-divider[data-v-282e4c71]{border:0;border-top:1px dashed var(--border);margin:.4rem 0}.thai-explanation[data-v-282e4c71]{color:var(--text-mute);margin:0;font-size:.78rem}.bubble-audio-row[data-v-282e4c71]{justify-content:flex-start;width:100%;margin-top:.6rem;display:flex}.bubble-audio-row[data-v-282e4c71] .audio-player-widget{box-shadow:none;background:#00000005;border-radius:12px;flex-wrap:wrap;gap:.5rem;width:100%;padding:.4rem .6rem;font-size:.72rem}.bubble-audio-row[data-v-282e4c71] .player-left{flex:1}.bubble-audio-row[data-v-282e4c71] .player-right{justify-content:flex-start;width:100%;margin-top:.25rem;display:flex}.bubble-audio-row[data-v-282e4c71] .play-trigger-btn{width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important}.bubble-audio-row[data-v-282e4c71] .speed-toggle-btn{border-radius:6px;padding:.15rem .4rem;font-size:.62rem}.user-message-text[data-v-282e4c71]{margin:0;font-weight:500;color:#fff!important}.english-response[data-v-282e4c71] ul,.user-message-text[data-v-282e4c71] ul{margin:.5rem 0;padding-left:1.25rem;list-style-type:disc}.english-response[data-v-282e4c71] ol,.user-message-text[data-v-282e4c71] ol{margin:.5rem 0;padding-left:1.25rem;list-style-type:decimal}.english-response[data-v-282e4c71] li,.user-message-text[data-v-282e4c71] li{margin-bottom:.25rem;line-height:1.45}.thinking-bubble[data-v-282e4c71]{align-items:center;gap:4px;padding:.7rem 1rem;display:flex}.typing-dot[data-v-282e4c71]{background:var(--text-mute);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite typing-282e4c71}.typing-dot[data-v-282e4c71]:nth-child(2){animation-delay:.2s}.typing-dot[data-v-282e4c71]:nth-child(3){animation-delay:.4s}@keyframes typing-282e4c71{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.panel-input-form[data-v-282e4c71]{border-top:1px solid var(--border);background:#00000005;padding:.75rem 1rem}.input-container[data-v-282e4c71]{background:var(--bg);border:1px solid var(--border);box-sizing:border-box;border-radius:9999px;align-items:center;gap:.5rem;width:100%;padding:.2rem .5rem;display:flex}.chat-text-input[data-v-282e4c71]{color:var(--text-main);box-sizing:border-box;background:0 0;border:0;outline:none;flex:1;padding:.4rem .25rem;font-size:.85rem}.chat-text-input[data-v-282e4c71]:disabled{opacity:.6}.listening-status-banner[data-v-282e4c71]{color:var(--secondary-red);cursor:pointer;box-sizing:border-box;background:#ef444414;border-top:1px solid #ef444433;border-bottom:1px solid #ef444433;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8rem;font-weight:600;animation:2s ease-in-out infinite banner-pulse-282e4c71;display:flex}@keyframes banner-pulse-282e4c71{0%{background:#ef44440d}50%{background:#ef44441f}to{background:#ef44440d}}.listening-indicator-dot[data-v-282e4c71]{background-color:var(--secondary-red);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1s ease-in-out infinite dot-pulse-282e4c71}@keyframes dot-pulse-282e4c71{0%{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}to{opacity:.5;transform:scale(.8)}}.speech-lang-pill[data-v-282e4c71]{background:rgba(var(--primary-blue-rgb), .1);color:var(--primary-blue);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;margin-right:.15rem;padding:.15rem .35rem;font-size:.68rem;font-weight:700;transition:all .2s;display:inline-flex}.speech-lang-pill[data-v-282e4c71]:hover{background:var(--primary-blue);color:#fff}.mic-trigger-btn[data-v-282e4c71]{cursor:pointer;justify-content:center;align-items:center;padding:.2rem;font-size:1.15rem;transition:all .2s;display:flex;color:var(--text-mute)!important;background:0 0!important;border:0!important}.mic-trigger-btn[data-v-282e4c71]:hover{transform:scale(1.1);color:var(--primary-blue)!important}.mic-trigger-btn.recording-active[data-v-282e4c71]{animation:1.2s infinite rec-pulse-282e4c71;color:var(--secondary-red)!important}@keyframes rec-pulse-282e4c71{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.rec-animate[data-v-282e4c71]{color:var(--secondary-red)}.send-message-btn[data-v-282e4c71]{cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;transition:all .2s;display:flex;background:var(--primary-blue)!important;color:#fff!important;border:0!important}.send-message-btn[data-v-282e4c71]:hover:not(:disabled){opacity:.9;transform:scale(1.05)}.send-message-btn[data-v-282e4c71]:disabled{cursor:not-allowed;background:var(--border)!important;color:var(--text-mute)!important}.spinner-icon[data-v-282e4c71]{animation:1.2s linear infinite spin-hourglass-282e4c71;display:inline-block}@keyframes spin-hourglass-282e4c71{0%{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}.panel-slide-enter-active[data-v-282e4c71]{transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s!important}.panel-slide-leave-active[data-v-282e4c71]{transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s!important}.panel-slide-enter-from[data-v-282e4c71],.panel-slide-leave-to[data-v-282e4c71]{opacity:0;transform:scale(.05)}@media (width<=480px){.chat-room-panel[data-v-282e4c71]{width:calc(100vw - 2rem);height:480px}.chat-trigger-pill[data-v-282e4c71]{box-shadow:0 4px 16px rgba(var(--primary-blue-rgb), .35);justify-content:center;align-items:center;border-radius:50%!important;width:50px!important;min-width:50px!important;height:50px!important;min-height:50px!important;padding:0!important}.trigger-label[data-v-282e4c71]{display:none!important}.avatar-icon[data-v-282e4c71]{margin:0!important;font-size:1.5rem!important;line-height:1!important}.status-dot[data-v-282e4c71]{background:#0d1117;border-radius:50%;justify-content:center;align-items:center;width:13px;height:13px;margin:0;font-size:.55rem;display:flex;position:absolute;bottom:2px;right:2px}html:not(.dark){background:#fff}.nudge-badge[data-v-282e4c71]{top:-5px;left:auto;right:-5px}}.confirm-overlay[data-v-282e4c71]{-webkit-backdrop-filter:blur(8px);z-index:100;border-radius:inherit;background:#00000073;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:absolute;inset:0}.confirm-card[data-v-282e4c71]{text-align:center;max-width:90%;padding:1.5rem;animation:.2s cubic-bezier(.4,0,.2,1) scaleIn-282e4c71;background:var(--glass-bg,#14161cf2)!important;border:1px solid var(--glass-border,var(--border))!important;box-shadow:0 8px 32px var(--glass-shadow,#0000004d)!important;border-radius:16px!important}@keyframes scaleIn-282e4c71{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.confirm-card h4[data-v-282e4c71]{color:var(--text-main);margin:0;font-size:1.15rem;font-weight:700}.confirm-card .thai-translation[data-v-282e4c71]{color:var(--primary-blue);margin-top:.25rem;font-size:.9rem;display:block}.confirm-card .confirm-desc[data-v-282e4c71]{color:var(--text-mute);margin:1rem 0 .25rem;font-size:.85rem;line-height:1.4}.confirm-card .confirm-desc-thai[data-v-282e4c71]{color:var(--text-mute);margin:0 0 1.5rem;font-size:.8rem;line-height:1.4}.confirm-actions[data-v-282e4c71]{justify-content:center;gap:.75rem;display:flex}.confirm-actions button[data-v-282e4c71]{padding:.4rem 1rem!important;font-size:.85rem!important}.fade-enter-active[data-v-282e4c71],.fade-leave-active[data-v-282e4c71]{transition:opacity .2s}.fade-enter-from[data-v-282e4c71],.fade-leave-to[data-v-282e4c71]{opacity:0}.floating-controls-row[data-v-282e4c71]{align-items:center;gap:.75rem;display:flex}.back-to-top-btn[data-v-282e4c71]{bottom:calc(1.5rem + env(safe-area-inset-bottom));right:calc(1.5rem + env(safe-area-inset-right));z-index:900;cursor:pointer;width:46px;height:46px;color:var(--primary-blue);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:0 4px 16px var(--glass-shadow);justify-content:center;align-items:center;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;border-radius:14px!important;min-width:46px!important;min-height:46px!important;padding:0!important}.back-to-top-icon[data-v-282e4c71]{width:20px;height:20px;transition:transform .2s cubic-bezier(.4,0,.2,1)}.back-to-top-btn[data-v-282e4c71]:hover{background:rgba(var(--primary-blue-rgb), .12);border-color:var(--primary-blue);box-shadow:0 8px 24px rgba(var(--primary-blue-rgb), .25);transform:translateY(-4px)scale(1.05)}.back-to-top-btn:hover .back-to-top-icon[data-v-282e4c71]{transform:translateY(-2px)}.back-to-top-btn[data-v-282e4c71]:active{box-shadow:0 2px 10px rgba(var(--primary-blue-rgb), .15);transform:translateY(-1px)scale(.95)}html.dark{color:#fff}.speech-error-banner[data-v-282e4c71]{color:#f59e0b;cursor:pointer;box-sizing:border-box;white-space:pre-line;text-align:left;background:#f59e0b14;border-top:1px solid #f59e0b40;border-bottom:1px solid #f59e0b40;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.75rem;font-weight:500;display:flex}.speech-error-close[data-v-282e4c71]{opacity:.7;font-size:.8rem;font-weight:800}.speech-error-close[data-v-282e4c71]:hover{opacity:1}.send-error-banner[data-v-282e4c71]{border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;margin:.5rem 1rem;padding:.75rem 1rem;display:flex;background:#bf0a3014!important;border:1px solid #bf0a3033!important}.error-msg[data-v-282e4c71]{color:var(--secondary-red);font-size:.8rem;font-weight:600}.retry-btn[data-v-282e4c71]{padding:.3rem .8rem;font-size:.75rem}.levelup-overlay[data-v-3a4cc091]{-webkit-backdrop-filter:blur(10px)saturate(120%);z-index:10000;box-sizing:border-box;background:#0b0e14d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.levelup-card[data-v-3a4cc091]{z-index:10002;box-sizing:border-box;width:90%;max-width:500px;padding:3rem;animation:.4s cubic-bezier(.34,1.56,.64,1) forwards scaleUp-3a4cc091;position:relative}@keyframes scaleUp-3a4cc091{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.badge-icon[data-v-3a4cc091]{margin-bottom:.5rem;font-size:4rem;animation:2.5s ease-in-out infinite float-3a4cc091;display:block}@keyframes float-3a4cc091{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.levelup-sub-thai[data-v-3a4cc091]{color:var(--primary-blue);margin-top:.1rem;font-size:1.15rem;font-weight:600}.milestone-box[data-v-3a4cc091]{background:rgba(var(--primary-blue-rgb), .05);border:1px solid var(--border);border-radius:1rem;margin:1.5rem 0;padding:1.25rem}.milestone-skill[data-v-3a4cc091]{color:var(--text-mute);letter-spacing:.05em;margin:0;font-size:1.1rem}.level-indicator[data-v-3a4cc091]{color:var(--primary-blue);margin-top:.25rem;font-size:2.2rem;font-weight:800;line-height:1}.competency-detail[data-v-3a4cc091]{border-left:4px solid var(--primary-blue);box-sizing:border-box;text-align:left;background:#ffffff05;border-radius:.5rem;margin-bottom:2rem;padding:1.2rem}.competency-title[data-v-3a4cc091]{color:var(--text-mute);text-transform:uppercase;margin-bottom:.4rem;font-size:.72rem;font-weight:800;display:block}.desc-en[data-v-3a4cc091]{color:var(--text-main);margin:0;font-size:1rem;font-weight:700;line-height:1.45}.desc-th[data-v-3a4cc091]{margin-top:.2rem;font-size:.82rem}.close-btn[data-v-3a4cc091]{width:100%}.confetti-container[data-v-3a4cc091]{pointer-events:none;z-index:10001;width:100%;height:100%;position:absolute;top:0;left:0}.particle[data-v-3a4cc091]{background:var(--color);width:6px;height:12px;left:var(--x);opacity:.8;animation:3.5s linear infinite fall-3a4cc091;animation-delay:var(--delay);border-radius:2px;position:absolute;top:-15px}@keyframes fall-3a4cc091{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(105vh)rotate(360deg)}}.text-center[data-v-3a4cc091]{text-align:center}.badge-overlay[data-v-15ca3252]{-webkit-backdrop-filter:blur(10px)saturate(120%);z-index:10000;box-sizing:border-box;background:#0b0e14d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.badge-card[data-v-15ca3252]{z-index:10002;box-sizing:border-box;width:90%;max-width:450px;padding:3rem;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards scaleUp-15ca3252;position:relative;overflow:hidden}.badge-glow-bg[data-v-15ca3252]{z-index:-1;pointer-events:none;background:radial-gradient(circle at top,#f59e0b26,#0000 70%);width:100%;height:100%;position:absolute;top:0;left:0}@keyframes scaleUp-15ca3252{0%{opacity:0;transform:scale(.85)}60%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.badge-icon[data-v-15ca3252]{text-shadow:0 0 20px #f59e0b66;margin-bottom:.5rem;font-size:5rem;animation:3s ease-in-out infinite float-15ca3252,2s infinite pulseGlow-15ca3252;display:block}@keyframes float-15ca3252{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulseGlow-15ca3252{0%,to{text-shadow:0 0 10px #f59e0b4d}50%{text-shadow:0 0 30px #f59e0b99}}.badge-sub-thai[data-v-15ca3252]{color:var(--color-accent,#f59e0b);margin-top:.1rem;font-size:1.15rem;font-weight:600}.badge-box[data-v-15ca3252]{background:#f59e0b0d;border:1px solid #f59e0b33;border-radius:1rem;margin:1.5rem 0;padding:1.25rem}.badge-title[data-v-15ca3252]{color:var(--text-main);margin:0;font-size:1.4rem;font-weight:800}.badge-title-thai[data-v-15ca3252]{color:var(--color-accent,#f59e0b);margin-top:.25rem;font-size:.9rem;display:block}.badge-detail[data-v-15ca3252]{border-left:4px solid var(--color-accent,#f59e0b);box-sizing:border-box;text-align:left;background:#ffffff05;border-radius:.5rem;margin-bottom:2rem;padding:1.2rem}.desc-en[data-v-15ca3252]{color:var(--text-main);margin:0;font-size:.95rem;font-weight:700;line-height:1.45}.desc-th[data-v-15ca3252]{color:var(--text-mute);margin-top:.3rem;font-size:.82rem}.close-btn[data-v-15ca3252]{width:100%}.confetti-container[data-v-15ca3252]{pointer-events:none;z-index:10001;width:100%;height:100%;position:absolute;top:0;left:0}.particle[data-v-15ca3252]{background:var(--color);width:8px;height:8px;left:var(--x);opacity:.8;animation:3s linear infinite fall-15ca3252;animation-delay:var(--delay);border-radius:50%;position:absolute;top:-20px}@keyframes fall-15ca3252{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(105vh)scale(.5)}}.text-center[data-v-15ca3252]{text-align:center}.text-left[data-v-15ca3252]{text-align:left}.view-enter-active,.view-leave-active{transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .2s}.view-enter-from{opacity:0;transform:translate(30px)}.view-leave-to{opacity:0;transform:translate(-30px)}.offline-status-banner{top:calc(1.5rem + env(safe-area-inset-top));z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);color:var(--text-main);border-radius:9999px;align-items:center;gap:.75rem;padding:.6rem 1.2rem;font-size:.85rem;font-weight:600;transition:all .3s;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0006}.offline-status-banner.warning{background:#f59e0b26;border-color:#f59e0b59}.offline-status-banner.success{background:#10b98126;border-color:#10b98159}.offline-status-banner.info{background:#3b82f626;border-color:#3b82f659}.toast-slide-enter-active,.toast-slide-leave-active{transition:all .3s cubic-bezier(.16,1,.3,1)}.toast-slide-enter-from,.toast-slide-leave-to{opacity:0;top:-5rem;transform:translate(-50%,-100%)}.app-main{flex-direction:column;flex-grow:1;justify-content:flex-start;align-items:center;width:100%;display:flex}.study-session{flex-direction:column;gap:1.5rem;width:100%;display:flex}.session-nav{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}.study-type-tabs{border-bottom:2px solid var(--border);gap:.5rem;width:100%;margin-top:.5rem;display:flex}.study-tab-btn{cursor:pointer;color:var(--text-mute);background:0 0;border:none;border-bottom:3px solid #0000;justify-content:center;align-items:center;margin-bottom:-2px;padding:.8rem 1.5rem;font-size:.95rem;font-weight:700;transition:all .2s;display:flex}.study-tab-btn.active{color:var(--primary-blue);border-bottom-color:var(--primary-blue)}.ai-generator-trigger-bar{justify-content:flex-start;width:100%;display:flex}.ai-trigger-btn{flex-direction:column;width:auto;height:auto;padding:.5rem 1.25rem;font-size:.85rem;line-height:1.25}.ai-generator-panel{box-sizing:border-box;text-align:left;border-left:5px solid var(--primary-blue);flex-direction:column;gap:.75rem;padding:1.8rem;display:flex}.panel-subtitle{color:var(--text-main);margin:0;font-size:.9rem;font-weight:700}.panel-subtitle-thai{opacity:.8;margin-top:-.5rem;font-size:.78rem}.generator-form{flex-wrap:wrap;align-items:flex-end;gap:1.25rem;margin-top:.5rem;display:flex}.generator-form .form-group{flex-direction:column;flex:1;gap:.4rem;min-width:180px;display:flex}.generator-form .form-group label{color:var(--text-mute);text-transform:uppercase;font-size:.75rem;font-weight:700}.ui-704-input{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text-main);box-sizing:border-box;border-radius:9999px;outline:none;padding:.6rem 1.2rem;font-size:.95rem;transition:all .25s}.ui-704-input:focus{border-color:var(--primary-blue);box-shadow:0 0 10px rgba(var(--primary-blue-rgb), .15)}.build-btn{flex-direction:column;flex-shrink:0;width:180px;height:auto;padding:.5rem 1rem;font-size:.85rem;line-height:1.25}.generator-feedback{color:var(--primary-blue);margin:.25rem 0 0;font-size:.85rem;font-weight:700;animation:2s infinite pulse}.vocab-study-layout{flex-direction:column;align-items:center;width:100%;display:flex}.session-progress-counter{color:var(--text-mute);text-transform:uppercase;letter-spacing:.05em;text-align:center;margin-bottom:-1rem;font-size:.9rem;font-weight:600}.session-nav-triggers{justify-content:center;gap:1.5rem;width:100%;margin-top:1rem;display:flex}.nav-trigger-btn{flex-direction:column;width:170px;height:auto;padding:.5rem 1rem}.empty-state{box-sizing:border-box;text-align:center;padding:3rem}.app-footer{border-top:1px solid var(--border);text-align:center;box-sizing:border-box;width:100%;max-width:1200px;margin:auto auto 0;padding:1.5rem;font-size:.85rem}.footer-link{color:var(--primary-blue);font-weight:700;text-decoration:none;transition:opacity .2s}.footer-link:hover{opacity:.8;text-decoration:underline}.back-btn{flex-direction:row;align-items:center;gap:.5rem;padding:.6rem 1.5rem;font-size:.9rem}.hero-fullwidth{z-index:10;background-color:#f3f4f6;width:100%;height:220px;margin-bottom:2.2rem;transition:height .4s cubic-bezier(.4,0,.2,1);position:relative}html.dark .hero-fullwidth{background-color:#0f172a}.hero-fullwidth.compact-hero{height:160px}.hero-bg-layer{background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.hero-fullwidth.compact-hero .hero-bg-layer{background-position:50%!important}.app-content-container{box-sizing:border-box;flex-direction:column;flex-grow:1;width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem 2rem;display:flex}.app-content-container.login-layout{justify-content:center;align-items:center;padding:2rem 1.5rem}.hero-bg-active{z-index:1}.hero-bg-incoming{z-index:2;opacity:0;transition:opacity 3s ease-in-out}.hero-bg-incoming.visible{opacity:1}.hero-gradient-overlay{z-index:3;background:linear-gradient(#0000001f 0%,#00000040 45%,#0000008c 100%);position:absolute;inset:0}.global-nav{z-index:10;box-sizing:border-box;border-radius:1.25rem;justify-content:space-between;align-items:center;gap:.5rem;width:min(96%,1440px);padding:.65rem 1.25rem;display:flex;position:absolute;top:1.25rem;left:50%;transform:translate(-50%);-webkit-backdrop-filter:blur(20px)saturate(140%)!important;background:#ffffff2e!important;border:1px solid #ffffff4d!important}.global-nav:hover{transform:translate(-50%)!important;box-shadow:0 8px 32px #00286814!important}html:not(.dark) .global-nav{background:#ffffffbf!important;border:1px solid #0028682e!important;box-shadow:0 8px 32px #00286814!important}html.dark .global-nav{background:#0a0f1e73!important;border:1px solid #ffffff1a!important}.user-dropdown-wrapper{flex-shrink:0;position:relative}.user-info-btn{cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:9999px;align-items:center;gap:.6rem;padding:.35rem .75rem .35rem .4rem;transition:background .18s;display:flex}.user-info-btn:hover,.user-info-btn.dropdown-open{background:#ffffff26}html:not(.dark) .user-info-btn:hover,html:not(.dark) .user-info-btn.dropdown-open{background:#00286814}.user-avatar{font-size:1.35rem;line-height:1}.user-meta{flex-direction:column;display:flex}.user-name{color:#fff;text-shadow:0 1px 3px #00000059;font-size:.95rem;font-weight:700;line-height:1.2}html:not(.dark) .user-name{color:var(--text-main);text-shadow:none}.user-name-sub{color:#ffffffa6;font-size:.68rem;font-weight:500;line-height:1.2}html:not(.dark) .user-name-sub{color:var(--text-mute)}.user-dropdown{z-index:100;background:#fff;border:1px solid #0000001a;border-radius:.875rem;min-width:200px;position:absolute;top:calc(100% + .6rem);left:0;overflow:hidden;box-shadow:0 8px 32px #00000029}html.dark .user-dropdown{background:#1e2535;border-color:#ffffff1a}.dropdown-item{cursor:pointer;text-align:left;width:100%;font-family:var(--sans);box-sizing:border-box;background:0 0;border:none;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:background .15s;display:flex}.dropdown-item:hover{background:#0028680f}html.dark .dropdown-item:hover{background:#ffffff14}.dropdown-item-danger:hover{background:#bf0a300f}.dropdown-icon{flex-shrink:0;font-size:1.1rem}.dropdown-item-text{flex-direction:column;gap:.05rem;display:flex}.dropdown-label{color:var(--text-main);font-size:.88rem;font-weight:700;line-height:1.2}.dropdown-item-danger .dropdown-label{color:var(--secondary-red)}.dropdown-sub{color:var(--text-mute);font-size:.7rem;font-weight:500}.dropdown-divider{background:var(--border);height:1px;margin:.2rem 0}.dropdown-fade-enter-active,.dropdown-fade-leave-active{transition:opacity .15s,transform .15s}.dropdown-fade-enter-from,.dropdown-fade-leave-to{opacity:0;transform:translateY(-6px)}.nav-links{flex:1;justify-content:center;align-items:center;gap:.2rem;display:flex}.nav-link-btn{cursor:pointer;color:var(--text-main);white-space:nowrap;background:0 0;border:none;border-radius:.5rem;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;padding:.4rem .9rem;transition:all .2s;display:flex}.nav-link-btn>span:first-child{font-size:.88rem;font-weight:700;line-height:1.2}.nav-sub{color:var(--text-mute);font-size:.72rem;font-weight:600;line-height:1.2;transition:color .2s}html:not(.dark) .nav-sub{color:#1e293b;font-weight:700}.nav-link-btn:hover{background:rgba(var(--primary-blue-rgb), .08)}.nav-link-btn.active{background:rgba(var(--primary-blue-rgb), .15);border:1px solid var(--border)}html:not(.dark) .nav-link-btn.active .nav-sub,html.dark .nav-link-btn.active .nav-sub{color:var(--primary-blue)}.header-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.theme-toggle-btn{cursor:pointer;background:#ffffff1f;border:1px solid #ffffff38;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:background .18s;display:flex}.theme-toggle-btn:hover{background:#ffffff38}html:not(.dark) .theme-toggle-btn{background:#0028680f;border-color:#00286826}html:not(.dark) .theme-toggle-btn:hover{background:#0028681f}.hamburger-btn{cursor:pointer;box-sizing:border-box;background:#ffffff1f;border:1px solid #ffffff38;border-radius:.5rem;flex-direction:column;justify-content:center;gap:5px;width:40px;height:36px;padding:0 10px;transition:background .18s;display:none}.hamburger-btn:hover{background:#ffffff38}html:not(.dark) .hamburger-btn{background:#0028680f;border-color:#00286826}html:not(.dark) .hamburger-btn:hover{background:#0028681f}.hb-line{background:#fff;border-radius:2px;width:100%;height:2px;transition:transform .25s,opacity .25s;display:block}html:not(.dark) .hb-line{background:var(--text-main)}.hamburger-btn.is-open .hb-line:first-child{transform:translateY(7px)rotate(45deg)}.hamburger-btn.is-open .hb-line:nth-child(2){opacity:0}.hamburger-btn.is-open .hb-line:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=1100px){.hamburger-btn{display:flex}.nav-links{z-index:99;background:#fff;border:1px solid #0000001a;border-radius:.875rem;flex-direction:column;align-items:stretch;gap:0;padding:.4rem 0;display:none;position:absolute;top:calc(100% + .75rem);left:0;right:0;overflow:hidden;box-shadow:0 8px 32px #00000029}html.dark .nav-links{background:#1e2535;border-color:#ffffff1a}.nav-links.mobile-open{display:flex}.nav-link-btn{color:var(--text-main);border:none;border-radius:0;flex-direction:row;justify-content:flex-start;gap:.75rem;padding:.85rem 1.25rem}.nav-link-btn>span:first-child{color:var(--text-main);font-size:.95rem}.nav-link-btn .nav-sub{color:var(--text-mute);font-size:.75rem}.nav-link-btn:hover{background:#0028680f}.nav-link-btn.active{border:none;border-left:3px solid var(--primary-blue);background:#00286814}.nav-link-btn.active>span:first-child{color:var(--primary-blue)}.nav-link-btn.active .nav-sub{color:var(--text-mute)}html.dark .nav-link-btn:hover{background:#ffffff0f}html.dark .nav-link-btn.active{border-left-color:var(--primary-blue);background:#ffffff14}.user-name-sub{display:none}}.nav-due-badge{background:var(--secondary-red);color:#fff;vertical-align:middle;border-radius:9999px;justify-content:center;align-items:center;min-width:1.1rem;height:1.1rem;margin-left:.25rem;padding:0 .2rem;font-size:.6rem;font-weight:800;line-height:1;display:inline-flex}.hero-content-wrapper{z-index:5;box-sizing:border-box;justify-content:center;align-items:center;padding:0 2rem;display:flex;position:absolute;inset:80px 0 0}.hero-glass-overlay{box-sizing:border-box;text-align:center;-webkit-backdrop-filter:blur(28px)saturate(160%);background:#ffffff2e;border:1px solid #ffffff4d;border-radius:1.25rem;width:min(90%,640px);padding:2.5rem 3rem;box-shadow:0 8px 40px #0000002e}html.dark .hero-glass-overlay{background:#0a0f1e73;border:1px solid #ffffff1a}.hero-glass-overlay h1{color:#fff;background:0 0;-webkit-background-clip:unset;background-clip:unset;-webkit-text-fill-color:#fff;text-shadow:0 2px 12px #00000059;margin-bottom:0;font-size:2.2rem}.h1-thai{color:#fffc;text-shadow:0 1px 6px #00000040;font-size:1rem;font-weight:500}.mastery-section{text-align:left;flex-direction:column;gap:.35rem;margin-top:1.5rem;display:flex}.mastery-label-row{justify-content:space-between;align-items:baseline;display:flex}.mastery-label{color:#fff;text-shadow:0 1px 4px #0000004d;font-size:1rem;font-weight:700}.mastery-pct{color:#fff;text-shadow:0 1px 4px #0000004d;font-size:1.1rem;font-weight:800}.mastery-thai{margin-top:-.1rem;font-size:.78rem;color:#ffffffb3!important}.mastery-bar-track{background:#fff3;border-radius:9999px;width:100%;height:10px;margin-top:.5rem;overflow:hidden;box-shadow:inset 0 1px 3px #0000001f}.mastery-desc{color:#ffffffe6;text-shadow:0 1px 4px #00000040;margin-top:.6rem;font-size:.85rem;line-height:1.4}.mastery-desc-thai{text-shadow:0 1px 4px #0003;font-size:.75rem;line-height:1.35;color:#ffffffb3!important;margin-top:.15rem!important}.mastery-bar-fill{border-radius:9999px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1),background-color .6s;box-shadow:0 0 8px #0000001a}.study-filter-bar{box-sizing:border-box;text-align:left;grid-template-columns:1fr 1fr;gap:1.5rem;width:100%;margin-bottom:1.5rem;padding:1.25rem 2rem;display:grid}.filter-group{flex-direction:column;gap:.4rem;display:flex}.filter-group label{color:var(--text-mute);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:flex-end;padding-left:.5rem;font-size:.8rem;font-weight:700;display:flex}.ui-704-select{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text-main);font-size:.95rem;font-family:var(--sans);box-sizing:border-box;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");background-position:right 1rem center;background-repeat:no-repeat;background-size:1.2rem;border-radius:9999px;outline:none;padding:.6rem 2.5rem .6rem 1.2rem;transition:all .25s}html.dark .ui-704-select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>")}.ui-704-select:focus{border-color:var(--primary-blue);box-shadow:0 0 10px rgba(var(--primary-blue-rgb), .15)}@media (width<=600px){.study-filter-bar{grid-template-columns:1fr;gap:1rem;padding:1.25rem}}.practice-hub-container{text-align:left;box-sizing:border-box;flex-direction:column;gap:1.5rem;width:100%;display:flex}.hub-section-container{flex-direction:column;gap:1rem;width:100%;display:flex}.hub-section-divider{color:var(--text-mute);text-transform:uppercase;letter-spacing:.05em;border-left:3px solid var(--primary-blue);text-align:left;margin:0 0 .5rem;padding-left:.75rem;font-size:1.15rem;font-weight:700}.hub-header{flex-direction:column;gap:.35rem;display:flex}.hub-header h2{color:var(--text-main);margin:0;font-size:2.2rem;font-weight:800;line-height:1.2}.hub-subtitle{color:var(--text-mute);margin:0;font-size:1rem}.hub-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;width:100%;display:grid}.hub-card{cursor:pointer;text-align:left;flex-direction:column;gap:.5rem;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}@media (hover:hover){.hub-card:hover{border-color:var(--primary-blue);box-shadow:0 12px 30px rgba(var(--primary-blue-rgb), .12);background:#ffffff14;transform:translateY(-4px)}html.dark .hub-card:hover{background:#0f172a99}}.hub-icon{margin-bottom:.5rem;font-size:2.8rem}.hub-card h3{color:var(--text-main);margin:0;font-size:1.25rem;font-weight:700}.hub-card p{color:var(--text-mute);margin:.5rem 0 0;font-size:.88rem;line-height:1.4}.compact-dashboard-overlay{justify-content:space-between;align-items:center;gap:2rem;width:100%;max-width:1200px;display:flex;border-radius:1rem!important;padding:1rem 2rem!important}.header-welcome-info{text-align:left;flex:1}.welcome-header{color:#fff;text-shadow:0 1px 6px #0000004d;margin:0!important;font-size:1.6rem!important}.h1-thai-compact{color:#ffffffb3;font-size:.85rem;display:block}.header-mastery-status{text-align:left;flex-direction:column;flex:1.2;gap:.25rem;display:flex}.mastery-label-row-compact{color:#fff;justify-content:space-between;font-size:.85rem;font-weight:700;display:flex}.mastery-bar-track-compact{background:#ffffff26;border-radius:4px;width:100%;height:8px;overflow:hidden}.mastery-bar-fill-compact{border-radius:4px;height:100%;transition:width .4s}.mastery-thai-compact{color:#ffffffb3;font-size:.75rem}.header-xp-goal{text-align:left;border-left:1px solid #ffffff26;flex:1;align-items:center;gap:1.5rem;padding-left:1.5rem;display:flex}.xp-goal-ring-wrapper{flex-shrink:0;justify-content:center;align-items:center;width:70px;height:70px;display:flex;position:relative}.progress-ring-svg{transform:rotate(-90deg)}.progress-ring-fg{transform-origin:50%;transition:stroke-dashoffset .35s}.xp-ring-text{flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute}.xp-earned-num{color:#fff;font-size:1.15rem;font-weight:800}.xp-lbl{color:#ffffffb3;text-transform:uppercase;font-size:.65rem;font-weight:800}.xp-goal-labels{flex-direction:column;gap:.15rem;display:flex}.xp-goal-title{color:#fff;font-size:.8rem;font-weight:700}.xp-goal-desc{color:#ffffffb3;font-size:.72rem}.xp-goal-desc.completed{color:#10b981;font-weight:700}@media (width<=850px){.compact-dashboard-overlay{flex-direction:column;align-items:stretch;gap:1rem;padding:1.25rem!important}.header-xp-goal{border-top:1px solid #ffffff26;border-left:none;padding-top:1rem;padding-left:0}}.global-loading-bar{background:rgba(var(--primary-blue-rgb), .1);z-index:99999;pointer-events:none;width:100%;height:4px;position:fixed;top:0;left:0;overflow:hidden}.loading-bar-shimmer{background:linear-gradient(90deg, transparent 0%, var(--primary-blue) 50%, transparent 100%);width:50%;height:100%;animation:1.5s linear infinite loadingBarSlide;position:absolute;top:0;left:-50%}.error-boundary-screen[data-v-8d7255a7]{box-sizing:border-box;justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.error-boundary-card[data-v-8d7255a7]{text-align:center;flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:420px;padding:2.5rem 2rem;display:flex}.error-boundary-icon[data-v-8d7255a7]{margin-bottom:.5rem;font-size:3rem}.error-boundary-sub[data-v-8d7255a7]{color:var(--text-mute);margin-bottom:.75rem}.error-boundary-body[data-v-8d7255a7]{color:var(--text-mute);margin-bottom:1.5rem;line-height:1.6}
