@font-face{font-family:Noto Sans Thai Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-thai-thai-wght-normal-CtQSZ1tK.woff2)format("woff2-variations");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-thai-latin-ext-wght-normal-DH1q_yQ5.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-thai-latin-wght-normal-Bi3VDbYN.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai Looped Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-thai-looped-thai-wght-normal-DqqRPgJ9.woff2)format("woff2-variations");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai Looped Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-thai-looped-latin-ext-wght-normal-D1LGzfIf.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai Looped Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-thai-looped-latin-wght-normal-CVCojjXl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.app-shell,.app-stage{min-height:100dvh}.app-stage{min-width:0}.app-sidebar{display:none}.app-content{min-height:calc(100dvh - var(--topbar-height));padding-bottom:88px}.app-topbar{z-index:20;height:var(--topbar-height);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--paper) 90%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex;position:sticky;top:0}.app-topbar__brand,.brand-lockup{align-items:center;gap:10px;min-width:0;display:flex}.app-topbar__brand img,.brand-lockup img{border-radius:10px;flex:none;width:32px;height:32px}.app-topbar__brand strong,.brand-lockup strong{letter-spacing:-.02em;font-size:17px;font-weight:700}.app-topbar__actions{flex:none;align-items:center;gap:8px;display:flex}.app-search-trigger{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;height:40px;color:var(--text-muted);cursor:pointer;transition:border-color var(--motion-quick) var(--motion-ease), box-shadow var(--motion-quick) var(--motion-ease);flex:0 420px;align-items:center;gap:10px;padding:0 8px 0 12px;font-size:14px;display:none}.app-search-trigger span{text-align:start;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.app-search-trigger svg{flex:none}.app-search-trigger:hover{border-color:var(--border-strong);box-shadow:var(--shadow-resting)}.app-icon-link{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--ink);place-items:center;display:grid}.app-icon-link:hover{background:var(--selected)}.app-avatar{background:var(--ink);width:36px;height:36px;color:var(--cream);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid;position:relative}.app-avatar__dot{border:2px solid var(--paper);background:var(--gold);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.app-avatar__dot--online{background:var(--success)}.shell-stats{align-items:center;gap:2px;display:flex}.shell-stat{border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:6px;min-width:40px;height:40px;padding:0 8px;font-size:14px;display:inline-flex}.shell-stat strong{font-weight:700}.shell-stat:hover{background:var(--selected)}.shell-stats-skeleton{background:var(--paper-muted);border-radius:6px;width:104px;height:24px;display:block}.nav-link{isolation:isolate;position:relative}.nav-link .nav-indicator{z-index:-1;pointer-events:none;position:absolute}.sidebar-nav-list,.mobile-nav-list{margin:0;padding:0;list-style:none;display:flex}.mobile-nav{z-index:30;height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);position:fixed;bottom:0;left:0;right:0}.mobile-nav-list{align-items:stretch;height:100%}.mobile-nav-list li{flex:1;min-width:0}.mobile-nav-list .nav-link{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.mobile-nav-list .nav-link-active{color:var(--ink)}.mobile-nav-list .nav-link .nav-indicator{background:var(--selected-strong);border-radius:999px;width:52px;height:30px;margin-left:-26px;top:7px;left:50%}@media (width>=760px){.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);display:grid}.app-sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;height:100dvh;padding:12px 8px;display:flex;position:sticky;top:0}.brand-lockup{justify-content:center;height:40px}.brand-lockup strong{display:none}.sidebar-nav-list{flex-direction:column;gap:4px;margin-top:20px}.sidebar-nav-list .nav-link,.sidebar-utility-link{border-radius:var(--radius-sm);min-height:56px;color:var(--text-muted);text-align:center;overflow-wrap:anywhere;transition:background-color var(--motion-quick) var(--motion-ease), color var(--motion-quick) var(--motion-ease);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 2px;font-size:11px;font-weight:600;display:flex}.sidebar-nav-list .nav-link:hover,.sidebar-utility-link:hover{background:var(--selected);color:var(--ink)}.sidebar-nav-list .nav-link-active,.sidebar-utility-link.active{color:var(--ink)}.sidebar-utility-link.active{background:var(--selected)}.sidebar-nav-list .nav-link .nav-indicator{border-radius:inherit;background:var(--selected-strong);inset:0}.sidebar-footer{gap:4px;margin-top:auto;display:grid}.sidebar-sync{justify-content:center;margin:8px 0 4px;display:flex}.sidebar-sync span{display:none}.sync-dot{background:var(--gold);border-radius:50%;flex:none;width:8px;height:8px}.sync-dot-connected{background:var(--success)}.app-topbar{height:var(--topbar-height);padding:0 24px}.app-topbar__brand,.app-icon-link--search{display:none}.app-search-trigger{display:flex}.app-content{padding-bottom:0}.mobile-nav{display:none}}@media (width>=1180px){.app-sidebar{padding:14px 12px}.brand-lockup{justify-content:flex-start;padding:0 8px}.brand-lockup strong{display:inline}.sidebar-nav-list{margin-top:22px}.sidebar-nav-list .nav-link,.sidebar-utility-link{text-align:start;flex-direction:row;justify-content:flex-start;gap:12px;min-height:44px;padding:0 12px;font-size:15px}.sidebar-utility-link{min-height:40px;font-size:14px}.sidebar-nav-list .nav-link-active{font-weight:700}.sidebar-sync{color:var(--text-muted);justify-content:flex-start;align-items:center;gap:10px;margin:10px 12px 4px;font-size:12px;line-height:1.35}.sidebar-sync span{display:inline}.app-topbar{padding:0 32px}}.pwa-status-notice{border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--cream) 94%, transparent);width:calc(100% - 40px);max-width:620px;box-shadow:var(--shadow-raised);color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:16px auto;padding:13px 42px 13px 13px;display:grid;position:relative}.pwa-status-notice--offline{border-color:color-mix(in srgb, var(--gold) 38%, transparent)}.pwa-status-notice--update{border-color:color-mix(in srgb, var(--thai-blue) 30%, transparent)}.pwa-status-notice--storage-pressure{border-color:color-mix(in srgb, var(--gold) 48%, transparent)}.pwa-status-notice__icon{background:var(--paper-muted);width:38px;height:38px;color:var(--ink);border-radius:13px;place-items:center;display:grid}.pwa-status-notice--offline .pwa-status-notice__icon{background:color-mix(in srgb, var(--gold) 18%, var(--cream))}.pwa-status-notice--update .pwa-status-notice__icon{background:color-mix(in srgb, var(--thai-blue) 13%, var(--cream));color:var(--thai-blue)}.pwa-status-notice--storage-pressure .pwa-status-notice__icon{background:color-mix(in srgb, var(--gold) 18%, var(--cream));color:var(--ink)}.pwa-status-notice__copy{gap:2px;min-width:0;display:grid}.pwa-status-notice__copy strong{letter-spacing:-.01em;font-size:14px}.pwa-status-notice__copy span{color:var(--text-muted);font-size:12px;line-height:1.4}.pwa-status-notice__action{border:1px solid var(--ink);border-radius:var(--radius-sm);background:var(--ink);min-height:36px;color:var(--cream);white-space:nowrap;cursor:pointer;padding:0 14px;font-size:12px;font-weight:700}.pwa-status-notice__action:disabled{cursor:wait;opacity:.62}.pwa-status-notice__close{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:8px}@media (width<=560px){.pwa-status-notice{grid-template-columns:auto minmax(0,1fr)}.pwa-status-notice__action{grid-column:1/-1;width:100%}}:root{color:#07111f;font-synthesis:none;text-rendering:optimizelegibility;--topbar-height:60px;--sidebar-width:84px;--page-max-width:1200px;--type-page-title:clamp(28px, 2.6vw, 34px);--type-display-title:clamp(30px, 3vw, 40px);--type-section-title:20px;--ink:#07111f;--paper:#fbf6ec;--paper-muted:#f2e8d6;--surface:#fffdf8;--cream:#fff8ea;--learning:#faf1ed;--selected:#07111f0d;--selected-strong:#b9893b33;--text-muted:#07111fad;--text-muted-on-ink:#fff8eab8;--thai-blue:#2457a6;--thai-red:#d63b4c;--gold:#b9893b;--success:#2e7d58;--success-surface:#f1f4e7;--error:#c83e4d;--error-surface:#c83e4d24;--border:#2d2a4a21;--border-strong:#2d2a4a42;--focus:#2457a6;--radius-sm:10px;--radius-md:12px;--radius-lg:16px;--radius-sheet:20px;--shadow-resting:0 1px 2px #2d2a4a0d, 0 2px 8px #2d2a4a0d;--shadow-raised:0 2px 4px #2d2a4a0f, 0 12px 28px #2d2a4a17;background:#fbf6ec;font-family:Space Grotesk Variable,system-ui,sans-serif}@media (width>=1180px){:root{--sidebar-width:232px}}*{box-sizing:border-box}html,body{min-width:0;min-height:100%}.thai-learning-text,[lang=th]{font-family:Noto Sans Thai Variable,sans-serif}html[data-thai-font-style=traditional] .thai-learning-text,html[data-thai-font-style=traditional] [lang=th]{font-family:Noto Sans Thai Looped Variable,Noto Sans Thai Variable,sans-serif}.learning-romanization-reveal{border:1px solid color-mix(in srgb, var(--thai-blue) 24%, transparent);min-height:32px;color:var(--thai-blue);background:color-mix(in srgb, var(--thai-blue) 7%, transparent);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:4px 10px;display:inline-flex}.learning-romanization-reveal>span{letter-spacing:.12em}.learning-romanization-reveal small{font-size:11px;font-weight:700}body{background:var(--paper);min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 55%, transparent);outline-offset:3px}.page{width:min(100%, var(--page-max-width));margin:0 auto;padding:24px 16px 64px}h1{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.page h1,.editorial-header h1,.lesson-result h1{font-size:var(--type-page-title);letter-spacing:-.03em;margin:0;font-weight:700;line-height:1.15}.eyebrow{color:var(--text-muted);font-size:13px;font-weight:600;display:inline-block}.eyebrow-on-dark{color:#e2ba62}.primary-action,.secondary-action{border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;gap:12px;min-height:48px;font-size:15px;font-weight:650;transition:transform .18s cubic-bezier(.23,1,.32,1),opacity .18s;display:inline-flex}.primary-action{background:var(--ink);color:var(--cream);border:0;padding:6px 7px 6px 20px}.primary-action:hover,.secondary-action:hover{transform:translateY(-1px)}.primary-action:active,.secondary-action:active{transform:scale(.985)}.primary-action:disabled,.secondary-action:disabled{cursor:not-allowed;opacity:.42;transform:none}.action-icon{width:36px;height:36px;color:var(--cream);background:#fff8ea24;border-radius:8px;place-items:center;display:grid}.secondary-action{border:1px solid var(--border);background:var(--surface);padding:0 18px}.daily-plan-section,.daily-word-section{margin-top:40px}.daily-word-card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-resting);background:radial-gradient(circle at 82% 10%,#6b6fa529,#0000 36%),#fff8eac7;grid-template-columns:minmax(0,1fr) auto;gap:22px;padding:clamp(20px,4vw,30px);display:grid;position:relative;overflow:hidden}.daily-word-copy{flex-direction:column;min-width:0;display:flex}.daily-word-thai{color:var(--ink);letter-spacing:-.025em;font-family:Noto Sans Thai Looped Variable,Noto Sans Thai Variable,sans-serif;font-size:clamp(42px,9vw,72px);font-weight:650;line-height:1.1}.daily-word-romanization{color:#5f5b91;margin-top:8px;font-size:15px;font-weight:700}.daily-word-copy strong{margin-top:12px;font-size:18px}.daily-word-task-progress{color:#2d2a4a;background:#6b6fa51f;border-radius:999px;width:fit-content;margin-top:16px;padding:6px 9px;font-size:11px;font-weight:750}.daily-word-actions{flex-direction:column;justify-content:center;align-items:stretch;gap:8px;max-width:260px;display:flex}.daily-word-actions button,.daily-word-practice-link{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:720;display:inline-flex}.daily-word-actions button:hover,.daily-word-practice-link:hover{background:var(--surface)}.daily-word-actions button:disabled{cursor:wait;opacity:.62}.daily-word-practice-link{background:var(--ink);color:var(--cream);border-color:#0000}.daily-word-practice-link:hover{background:#172238}.daily-word-actions .daily-word-task-done,.daily-word-practice-link.daily-word-task-done{background:var(--success-surface);color:var(--success);border-color:#087d5c2e}.daily-word-state{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-muted);padding:22px;line-height:1.55}.daily-word-state-error,.daily-word-notice-error{color:var(--error)}.daily-word-notice{grid-column:1/-1;margin:0;font-size:12px}.daily-word-writing-panel{border-top:1px solid var(--border);grid-column:1/-1;gap:16px;padding-top:20px;display:grid}.daily-word-writing-panel p{color:var(--text-muted);margin:5px 0 0;font-size:13px}.daily-word-answer{border-radius:var(--radius-md);background:#ffffff59;border:1px dashed #2d2a4a3d;place-items:center;min-height:66px;font-family:Noto Sans Thai Looped Variable,Noto Sans Thai Variable,sans-serif;font-size:30px;font-weight:650;display:grid}.daily-word-tiles,.daily-word-writing-actions{flex-wrap:wrap;gap:8px;display:flex}.daily-word-tiles button,.daily-word-writing-actions button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-weight:720;display:inline-flex}.daily-word-tiles button{font-family:Noto Sans Thai Looped Variable,Noto Sans Thai Variable,sans-serif;font-size:20px}.daily-word-tiles button:disabled,.daily-word-writing-actions button:disabled{cursor:default;opacity:.28}.daily-word-writing-feedback{font-weight:720}.daily-word-writing-feedback-correct{color:var(--success)!important}.daily-word-writing-feedback-incorrect{color:var(--error)!important}@media (width<=700px){.daily-word-card{grid-template-columns:1fr}.daily-word-actions{max-width:none}}.section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.section-heading h2{letter-spacing:-.035em;margin:3px 0 0;font-size:23px}.section-count{color:var(--text-muted);font-size:12px}.today-plan-heading-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.today-plan-heading-actions button{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:38px;color:var(--ink);background:var(--surface);cursor:pointer;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:720;display:inline-flex}@media (width<=520px){.today-plan-heading-actions{flex-direction:column;align-items:flex-end}}.plan-row,.path-row{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-resting);align-items:center;gap:14px;transition:transform .18s cubic-bezier(.23,1,.32,1),background .18s;display:flex}.plan-row:hover,.path-row:not(.path-row-disabled):hover{background:var(--surface);transform:translateY(-2px)}.plan-icon,.path-index,.history-check{border-radius:var(--radius-md);color:#2d2a4a;background:#6b6fa524;flex:none;place-items:center;display:grid}.plan-icon{width:48px;height:48px}.plan-icon-complete,.path-index-complete,.history-check{background:var(--success-surface);color:var(--success)}.plan-copy,.path-copy{flex-direction:column;flex:1;min-width:0;display:flex}.plan-copy strong,.path-copy strong{font-size:15px}.plan-copy span,.path-copy span,.path-copy small{color:var(--text-muted);margin-top:4px;font-size:12px;line-height:1.45}.status-pill{color:#2d2a4a;background:#6b6fa51f;border-radius:999px;flex:none;padding:6px 9px;font-size:10px;font-weight:700;display:none}.status-pill-complete{background:var(--success-surface);color:var(--success)}.plan-arrow{color:var(--text-muted);flex:none}.editorial-header p{max-width:650px;color:var(--text-muted);margin:18px 0 0;font-size:16px;line-height:1.7}.path-row{z-index:1;border-radius:var(--radius-lg);min-height:104px;padding:16px;position:relative}.path-row-disabled{box-shadow:none;opacity:.58;background:#efe0c37a}.path-index{background:var(--surface);border:1px solid #2d2a4a14;width:38px;height:38px;font-size:13px;font-weight:750}.path-copy small{font-weight:650}.progress-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.progress-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:160px;box-shadow:var(--shadow-resting);flex-direction:column;padding:18px;display:flex}.progress-card svg{color:var(--thai-red);margin-bottom:auto}.progress-card span{color:var(--text-muted);font-size:11px}.progress-card strong{letter-spacing:-.05em;margin-top:4px;font-size:34px}.empty-copy{border-left:3px solid var(--gold);max-width:580px;color:var(--text-muted);margin:28px 0;padding:18px 20px;line-height:1.6}.history-list{gap:10px;margin-top:28px;display:grid}.history-list article{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:13px;padding:15px;display:flex}.history-check{width:42px;height:42px}.history-list article>div{flex-direction:column;flex:1;min-width:0;display:flex}.history-list article>div span{color:var(--text-muted);margin-top:3px;font-size:12px}.lesson-stage{background:radial-gradient(circle at 80% -15%, #b9893b29, transparent 30rem), var(--learning);flex-direction:column;min-height:100dvh;display:flex}.lesson-header{grid-template-columns:42px 1fr auto;align-items:center;gap:16px;width:min(100%,900px);height:76px;margin:0 auto;padding:0 20px;display:grid}.lesson-close,.back-link{justify-content:center;align-items:center;display:inline-flex}.lesson-close{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:40px;height:40px}.lesson-progress{background:#2d2a4a1f;border-radius:999px;height:8px;overflow:hidden}.lesson-progress span{border-radius:inherit;background:linear-gradient(90deg,#2d2a4a,#a51931);height:100%;transition:width .24s cubic-bezier(.23,1,.32,1);display:block}.lesson-counter{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.question-card{flex-direction:column;flex:1;align-items:center;width:min(100% - 40px,720px);margin:24px auto 32px;display:flex}.lesson-evidence-error{color:var(--error);text-align:center;margin:18px 0 0;font-size:13px;font-weight:700}.question-prompt{color:var(--text-muted);text-align:center;margin:0 0 18px;font-size:15px;font-weight:600}.thai-character{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:190px;height:190px;box-shadow:var(--shadow-raised);place-items:center;font-family:Noto Sans Thai Variable,sans-serif;font-size:112px;font-weight:650;line-height:1.4;display:grid}.sound-guide{color:var(--text-muted);margin-top:12px;font-size:13px}.choice-grid{gap:10px;width:100%;margin-top:30px;display:grid}.choice{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;min-height:58px;padding:12px 16px;font-size:14px;font-weight:620;transition:transform .18s cubic-bezier(.23,1,.32,1),border-color .18s;display:flex;box-shadow:0 1px 2px #2d2a4a0f}.choice:hover:not(:disabled){border-color:#2457a67a;transform:translateY(-1px)}.choice-selected{border-color:var(--thai-blue);background:#2457a61a}.choice-correct{border-color:var(--success);background:var(--success-surface);color:var(--success)}.choice-wrong{border-color:var(--error);background:var(--error-surface);color:var(--error)}.lesson-feedback{border-top:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);justify-content:flex-end;align-items:center;gap:24px;min-height:96px;padding:16px max(20px,50% - 360px);display:flex}.lesson-feedback>div{flex-direction:column;flex:1;display:flex}.lesson-feedback>div strong{font-size:16px}.lesson-feedback>div span{color:var(--text-muted);margin-top:3px;font-size:12px}.lesson-feedback .primary-action,.lesson-result .primary-action{background:var(--ink);color:var(--cream)}.lesson-feedback .action-icon,.lesson-result .primary-action .action-icon{color:var(--cream);background:#fff8ea24}.feedback-correct{background:#f1f4e7f5}.feedback-wrong{background:#fee2e2f0}.lesson-intro,.lesson-result{justify-content:center;align-items:center;padding:24px}.premium-lesson-gate-stage{justify-content:center;align-items:center;padding:84px 24px 32px}.premium-lesson-gate{border:1px solid var(--border);border-radius:var(--radius-sheet);width:min(100%,620px);box-shadow:var(--shadow-raised);text-align:center;background:radial-gradient(circle at 100% 0,#a5193121,#0000 19rem),#fff8eae6;flex-direction:column;align-items:center;padding:clamp(30px,7vw,56px);display:flex}.premium-gate-icon{border-radius:var(--radius-lg);width:68px;height:68px;color:var(--thai-red);background:#a519311a;border:1px solid #a5193138;place-items:center;margin-bottom:22px;display:grid}.premium-gate-icon-pending{color:var(--gold);background:#b9893b1f;border-color:#b9893b47}.premium-lesson-gate h1{max-width:500px;font-size:var(--type-page-title);letter-spacing:-.03em;margin:8px 0 14px;font-weight:700;line-height:1.15}.premium-lesson-gate>p{max-width:480px;color:var(--text-muted);margin:0;line-height:1.65}.premium-gate-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px;display:flex}.lesson-intro>.back-link,.premium-lesson-gate-stage>.back-link{color:var(--text-muted);gap:7px;font-size:13px;font-weight:650;position:absolute;top:24px;left:24px}.lesson-intro-card{border-radius:var(--radius-sheet);background:radial-gradient(circle at 85% 10%, #2457a64d, transparent 20rem), var(--ink);width:min(100%,920px);min-height:500px;box-shadow:var(--shadow-raised);color:var(--cream);grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);align-items:center;padding:48px;display:grid;overflow:hidden}.lesson-intro-card h1{font-size:var(--type-display-title);letter-spacing:-.03em;margin:8px 0 16px;font-weight:700;line-height:1.15}.lesson-intro-card p{max-width:540px;color:var(--text-muted-on-ink);margin:0 0 28px;font-size:16px;line-height:1.65}.lesson-intro-card img{object-fit:contain;filter:drop-shadow(0 22px 30px #00000052);width:115%;max-height:360px}.lesson-result{text-align:center}.introduction-page{text-align:center;flex:1;align-content:center;justify-items:center;gap:22px;width:min(100% - 40px,760px);margin:20px auto 32px;display:grid}.introduction-glyph-wrap{border:1px solid var(--border);border-radius:var(--radius-sheet);background:var(--surface);min-width:min(360px,82vw);min-height:190px;box-shadow:var(--shadow-raised);align-content:center;justify-items:center;gap:4px;padding:24px;display:grid}.introduction-glyph{font-family:Noto Sans Thai Variable,Space Grotesk Variable,sans-serif;font-size:clamp(64px,12vw,112px);font-weight:650;line-height:1.25}.introduction-glyph-wrap>span{color:var(--text-muted);font-size:15px;font-weight:650}.introduction-copy{max-width:650px}.introduction-copy h1{font-size:var(--type-display-title);letter-spacing:-.03em;margin:0;font-weight:700;line-height:1.15}.introduction-copy p{color:var(--text-muted);margin:16px auto 0;font-size:16px;line-height:1.65}.introduction-tone-grid{grid-template-columns:repeat(3,1fr);gap:10px;width:min(100%,620px);display:grid}.introduction-tone-grid>div{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);gap:4px;padding:20px 12px;display:grid;box-shadow:0 6px 18px #2d2a4a14}.introduction-tone-grid strong{font-family:Noto Sans Thai Variable,sans-serif;font-size:40px;line-height:1.4}.introduction-tone-grid span{font-weight:700}.introduction-tone-grid small{color:var(--text-muted)}.introduction-order{counter-reset:lesson-order;grid-template-columns:repeat(3,1fr);gap:28px;width:min(100%,620px);margin:0;padding:0;list-style:none;display:grid}.introduction-order li{border:1px solid var(--border);background:var(--surface);counter-increment:lesson-order;border-radius:999px;place-items:center;min-height:120px;padding:16px;font-weight:750;display:grid;position:relative;box-shadow:0 6px 18px #2d2a4a14}.introduction-order li:before{background:var(--ink);width:30px;height:30px;color:var(--cream);content:counter(lesson-order);border-radius:999px;place-items:center;font-size:12px;display:grid;position:absolute;top:-10px}.introduction-mascot{object-fit:contain;filter:drop-shadow(0 18px 26px #2d2a4a29);width:min(250px,58vw);height:210px}.introduction-footer{justify-content:space-between}.lesson-guide-page{flex:1;align-content:start;gap:22px;width:min(100% - 40px,820px);margin:28px auto 40px;display:grid}.lesson-guide-copy h1{font-size:var(--type-display-title);letter-spacing:-.03em;margin:0 0 14px;font-weight:700;line-height:1.15}.lesson-guide-copy p{color:var(--text-muted);white-space:pre-line;margin:8px 0 0;font-size:16px;line-height:1.65}.lesson-guide-example-grid,.lesson-guide-practice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.lesson-guide-example-grid article,.lesson-guide-practice-grid article,.lesson-guide-rule,.lesson-guide-table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:18px;box-shadow:0 6px 18px #2d2a4a0f}.lesson-guide-example-grid article,.lesson-guide-practice-grid article{gap:5px;display:grid}.lesson-guide-example-grid strong,.lesson-guide-practice-grid strong{font-family:Noto Sans Thai Variable,sans-serif;font-size:42px;line-height:1.35}.lesson-guide-example-grid p,.lesson-guide-practice-grid p,.lesson-guide-rule small,.lesson-guide-practice-grid small{color:var(--text-muted);margin:0;line-height:1.5}.lesson-guide-rule{gap:10px;display:grid}.lesson-guide-rule>div{border-top:1px solid var(--border);grid-template-columns:1fr auto;gap:4px 14px;padding-top:10px;display:grid}.lesson-guide-rule small{grid-column:1/-1}.lesson-guide-table-wrap{overflow-x:auto}.lesson-guide-table{border-collapse:collapse;width:100%;margin-top:12px}.lesson-guide-table th,.lesson-guide-table td{border-top:1px solid var(--border);text-align:left;padding:11px 12px}.lesson-guide-table th{color:var(--text-muted);font-size:12px}.lesson-guide-table td[lang=th]{font-family:Noto Sans Thai Variable,sans-serif;font-size:22px}.alphabet-reference-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:-16px 0 24px;display:flex}.reference-action-locked{cursor:not-allowed;opacity:.58}.reference-page{width:min(100%,1180px);margin:0 auto}.reference-back{color:var(--text-muted);align-items:center;gap:7px;margin-bottom:22px;font-size:13px;font-weight:650;display:inline-flex}.reference-hero,.consonant-reference-hero,.vowel-reference-hero{display:block}.reference-hero h1{font-size:var(--type-page-title);letter-spacing:-.03em;margin:8px 0 14px;font-weight:700;line-height:1.15}.reference-hero p{max-width:650px;color:var(--text-muted);margin:0 0 18px;font-size:16px;line-height:1.6}.reference-hero>div:first-child>strong{font-size:13px}.reference-controls{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:minmax(230px,1fr) auto auto;gap:14px;margin:22px 0;padding:14px;display:grid}.reference-search{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:48px;color:var(--text-muted);align-items:center;gap:10px;padding:0 14px;display:flex}.reference-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1}.reference-search button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.reference-filter-rail{flex-wrap:wrap;gap:7px;display:flex}.reference-filter{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;min-height:48px;padding:0 14px;font-weight:700}.reference-filter-active{background:var(--ink);color:var(--cream)}.reference-result-count{color:var(--text-muted);white-space:nowrap;align-self:center;font-size:12px;font-weight:650}.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.reference-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);align-self:start;overflow:hidden;box-shadow:0 5px 16px #2d2a4a0f}.reference-card-low{border-left:4px solid #6267a3}.reference-card-mid{border-left:4px solid #2f855a}.reference-card-high{border-left:4px solid #b42347}.reference-card-long{border-left:4px solid #2457a6}.reference-card-short{border-left:4px solid #d63b4c}.reference-card-composite{border-left:4px solid #8c6a2d}.reference-card-mark{border-left:4px solid #6267a3}.reference-card-summary{width:100%;min-height:112px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:76px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.reference-glyph{border-radius:var(--radius-lg);background:#2d2a4a0f;place-items:center;width:70px;height:76px;font-family:Noto Sans Thai Variable,sans-serif;font-size:48px;font-weight:650;display:grid}.reference-card-copy{gap:4px;display:grid}.reference-card-copy strong{font-size:15px}.reference-card-copy small{color:var(--text-muted)}.reference-class-pill,.reference-obsolete{border-radius:999px;padding:5px 8px;font-size:10px;font-weight:750}.reference-class-low{color:#555b98;background:#6267a31f}.reference-class-mid{color:#28754f;background:#2f855a1f}.reference-class-high{color:#a21f40;background:#b423471c}.reference-class-long{color:#2457a6;background:#2457a61c}.reference-class-short{color:#b92d3e;background:#d63b4c1c}.reference-class-composite{color:#7f5b20;background:#b9893b24}.reference-class-mark{color:#555b98;background:#6267a31f}.reference-card-details{gap:12px;padding:0 16px 16px;display:grid}.reference-detail-row,.reference-mnemonic,.reference-related{border-radius:var(--radius-sm);background:#2d2a4a0b;padding:14px}.reference-detail-row{align-items:center;gap:10px;display:flex}.reference-detail-row>div,.reference-mnemonic{gap:3px;display:grid}.reference-detail-row small,.reference-mnemonic small,.reference-related>small{color:var(--text-muted);font-size:12px;font-weight:700}.reference-obsolete{color:#8a5400;background:#b86e001f;margin-left:auto}.reference-audio{width:42px;height:42px;color:var(--thai-blue);cursor:pointer;background:#2457a614;border:1px solid #2457a640;border-radius:999px;place-items:center;margin-left:auto;display:grid}.reference-audio-playing{box-shadow:0 0 0 6px #2457a614}.reference-mnemonic strong{margin-top:4px;font-family:Noto Sans Thai Variable,sans-serif;font-size:28px}.reference-related>div{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.reference-related button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;display:inline-flex}.reference-related button span{font-family:Noto Sans Thai Variable,sans-serif;font-size:20px}.vowel-reading-pattern{border-radius:var(--radius-sm);background:#2457a60e;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:14px;display:grid}.vowel-reading-pattern small{color:var(--text-muted);grid-column:1/-1;font-size:12px;font-weight:700}.vowel-reading-pattern>strong{font-family:Noto Sans Thai Variable,sans-serif;font-size:17px}.vowel-reading-pattern>span{grid-area:2/2/span 2;font-family:Noto Sans Thai Variable,sans-serif;font-size:34px}.vowel-reading-pattern em{color:var(--text-muted);font-size:12px;font-style:normal}.read-thai-course-page{max-width:1120px}.read-thai-course-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;display:grid}.read-thai-course-hero h1{font-size:var(--type-page-title);letter-spacing:-.03em;margin:8px 0 14px;font-weight:700;line-height:1.15}.read-thai-course-hero p{max-width:650px;color:var(--text-muted);margin:0 0 16px;line-height:1.55}.read-thai-course-list{border:1px solid var(--border);border-radius:var(--radius-sheet);background:var(--surface);box-shadow:var(--shadow-resting);margin-top:22px;display:grid;overflow:hidden}.read-thai-course-row{border-bottom:1px solid var(--border);grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:142px;padding:24px 26px;transition:background .16s,transform .16s;display:grid}.read-thai-course-row:last-child{border-bottom:0}a.read-thai-course-row:hover{background:var(--surface)}.read-thai-course-row-locked{opacity:.7}.read-thai-lesson-index{color:var(--thai-red);letter-spacing:.08em;font-size:13px;font-weight:750}.read-thai-course-copy{gap:5px;display:grid}.read-thai-course-copy small{color:var(--thai-blue);font-size:12px;font-weight:750}.read-thai-course-copy strong{letter-spacing:-.02em;font-size:20px}.read-thai-course-copy>span,.read-thai-course-copy em{color:var(--text-muted);line-height:1.45}.read-thai-course-copy em{font-size:11px;font-style:normal;font-weight:650}.read-thai-premium-label{color:#7f5b20;background:#b9893b24;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:750;display:inline-flex}.read-thai-lesson-stage{justify-content:flex-start;gap:18px;padding-bottom:120px}.read-thai-lesson-header{grid-template-columns:42px 1fr auto 42px;width:min(100%,920px)}.lesson-share{border:1px solid var(--border);border-radius:var(--radius-sm);width:40px;height:40px;color:var(--ink);background:var(--surface);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.read-thai-guide-card,.read-thai-practice-card{border:1px solid var(--border);border-radius:var(--radius-sheet);background:var(--surface);width:min(100%,920px);box-shadow:var(--shadow-raised);margin:0 auto;padding:clamp(24px,5vw,48px)}.read-thai-step-row{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:750;display:flex}.read-thai-step-row strong{color:var(--thai-red)}.read-thai-guide-card>h1,.read-thai-practice-card>h1{font-size:var(--type-display-title);letter-spacing:-.03em;margin:24px 0 12px;font-weight:700;line-height:1.15}.read-thai-guide-card>p{max-width:760px;color:var(--text-muted);font-size:16px;line-height:1.65}.read-thai-rule-card{border-left:4px solid var(--thai-blue);border-radius:var(--radius-sm);background:#2457a612;margin:22px 0;padding:18px 20px}.read-thai-rule-card p{color:var(--text-muted);margin:6px 0 0;line-height:1.55}.read-thai-table-wrap{margin-top:24px;overflow-x:auto}.read-thai-table-wrap h2,.read-thai-examples h2{letter-spacing:-.01em;margin:0 0 12px;font-size:14px}.read-thai-table-wrap table{border-collapse:collapse;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-width:520px}.read-thai-table-wrap th,.read-thai-table-wrap td{border-bottom:1px solid var(--border);text-align:left;padding:12px 14px}.read-thai-table-wrap th{color:var(--text-muted);background:#2d2a4a0e;font-size:11px}.read-thai-examples{gap:10px;margin-top:26px;display:grid}.read-thai-examples article{border-radius:var(--radius-sm);background:#2d2a4a0b;grid-template-columns:minmax(150px,.4fr) minmax(0,1fr);gap:18px;padding:16px;display:grid}.read-thai-examples article>div{align-content:start;gap:4px;display:grid}.read-thai-examples [lang=th]{font-family:Noto Sans Thai Variable,sans-serif;font-size:30px}.read-thai-examples span,.read-thai-examples p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.read-thai-practice-word{margin:20px 0 4px;font-family:Noto Sans Thai Variable,sans-serif;font-size:clamp(58px,10vw,86px);font-weight:650;line-height:1.25}.read-thai-practice-card .choice .thai-learning-text,.listening-choice .thai-learning-text{letter-spacing:0;font-size:24px;font-weight:500;line-height:40px}.read-thai-answer{border-radius:var(--radius-sm);margin-top:18px;padding:16px 18px}.read-thai-answer.is-correct{background:var(--success-surface);color:var(--success)}.read-thai-answer.is-wrong{background:var(--error-surface);color:var(--error)}.read-thai-answer p{color:var(--ink);margin:6px 0 0;line-height:1.5}.read-thai-lesson-footer{z-index:18;padding:14px max(20px, calc((100vw - 920px) / 2)) calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);justify-content:flex-end;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.reference-empty{border:1px dashed var(--border);border-radius:var(--radius-sheet);text-align:center;padding:70px 24px}@media (width<=900px){.reference-controls{grid-template-columns:1fr}.reference-result-count{justify-self:end}}.tone-question-card{justify-content:center}.tone-play-button{width:76px;height:76px;color:var(--thai-blue);cursor:pointer;background:#2457a61a;border:1px solid #2457a647;border-radius:999px;place-items:center;display:grid}.tone-play-button-active{box-shadow:0 0 0 8px #2457a617}.tone-answer-thai{margin-top:16px;font-family:Noto Sans Thai Variable,sans-serif;font-size:62px;font-weight:650;line-height:1.4}.tone-audio-error{color:var(--error);margin:12px 0 0;font-size:13px}.tone-choice-grid .choice{grid-template-columns:44px 1fr auto;gap:12px;display:grid}.tone-choice-glyph{font-family:Noto Sans Thai Variable,sans-serif;font-size:28px;line-height:1}.result-mascot{object-fit:contain;filter:drop-shadow(0 18px 26px #2d2a4a29);width:min(280px,64vw);height:250px}.lesson-result h1{max-width:700px}.lesson-result>p{max-width:540px;color:var(--text-muted);margin:18px auto 0;line-height:1.6}.result-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px;display:flex}.centered-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.centered-state p{max-width:420px;color:var(--text-muted)}.account-header{padding-bottom:28px}.account-layout{border:1px solid var(--border);border-radius:var(--radius-sheet);background:var(--surface);box-shadow:var(--shadow-raised);display:grid;overflow:hidden}.account-panel,.account-benefits{min-height:500px;padding:32px 26px}.account-panel{align-items:center;display:flex}.account-panel>div{width:100%;max-width:440px;margin:0 auto}.account-panel h2,.account-benefits h2{font-size:var(--type-section-title);letter-spacing:-.025em;margin:18px 0 9px;font-weight:700;line-height:1.25}.account-panel h2+p,.account-benefits p{color:var(--text-muted);margin:0;font-size:14px;line-height:1.65}.account-icon{width:46px;height:46px;color:var(--thai-blue);background:#2457a61c;border-radius:15px;place-items:center;display:grid}.account-icon-success{background:var(--success-surface);color:var(--success)}.account-form,.otp-form{margin-top:26px;display:grid}.account-form label{color:var(--text-muted);margin-bottom:7px;font-size:12px;font-weight:700}.account-form input,.otp-digits input{border:1px solid var(--border);color:var(--ink);background:#fffdf8;outline:none;transition:border-color .16s,box-shadow .16s}.account-form input{border-radius:var(--radius-sm);width:100%;height:50px;padding:0 15px}.account-form input:focus,.otp-digits input:focus{border-color:var(--thai-blue);box-shadow:0 0 0 4px #2457a61a}.account-primary,.oauth-button,.sign-out-button{border-radius:var(--radius-sm);cursor:pointer;min-height:50px;font-weight:700}.account-primary{background:var(--ink);color:var(--cream);border:0;margin-top:13px}.account-primary:disabled,.oauth-button:disabled{cursor:not-allowed;opacity:.45}.account-divider{color:var(--text-muted);align-items:center;gap:12px;margin:21px 0;font-size:12px;display:flex}.account-divider:before,.account-divider:after{background:var(--border);content:"";flex:1;height:1px}.oauth-button{border:1px solid var(--border);background:0 0;justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.oauth-button+.oauth-button{margin-top:10px}.oauth-button svg{width:17px;height:17px}.otp-digits{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.otp-digits input{text-align:center;border-radius:12px;width:100%;height:54px;font-size:20px;font-weight:720}.otp-secondary-actions{justify-content:space-between;gap:12px;margin-top:18px;display:flex}.otp-secondary-actions button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:7px 0;font-size:12px;font-weight:650;display:inline-flex}.otp-secondary-actions button:disabled{cursor:default;opacity:.5}.form-error{color:var(--error)!important;margin:10px 0 0!important;font-size:12px!important;line-height:1.5!important}.account-benefits{background:radial-gradient(circle at 82% 18%, #2457a661, transparent 18rem), var(--ink);color:var(--cream);flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.account-benefits p{max-width:430px;color:var(--text-muted-on-ink)}.device-orbit{flex-wrap:wrap;gap:8px;margin-top:34px;display:flex}.device-orbit span{color:#fff8ead1;background:#fff8ea12;border:1px solid #fff8ea26;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:700}.sync-card{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--success);background:#f1f4e7a3;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:26px;padding:15px;display:grid}.sync-card>div{flex-direction:column;min-width:0;display:flex}.sync-card strong{color:var(--ink);font-size:13px}.sync-card span{color:var(--text-muted);margin-top:3px;font-size:11px}.sync-card button{width:36px;height:36px;color:var(--success);cursor:pointer;background:#2e7d581a;border:0;border-radius:11px;place-items:center;display:grid}.sign-out-button{border:1px solid var(--border);background:0 0;width:100%;margin-top:20px}.account-data-actions{border-top:1px solid var(--border);gap:13px;margin-top:24px;padding-top:22px;display:grid}.account-data-actions .eyebrow{color:var(--thai-blue);font-size:10px}.account-data-actions h3{letter-spacing:-.02em;margin:5px 0 4px;font-size:17px}.account-data-actions p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.55}.account-data-button,.account-danger-zone button{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:42px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:12px;font-weight:720;display:inline-flex}.account-data-button:disabled,.account-danger-zone button:disabled,.account-delete-dialog button:disabled{cursor:not-allowed;opacity:.46}.account-danger-zone{border:1px solid color-mix(in srgb, var(--error) 24%, var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--error) 5%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:3px;padding:14px;display:grid}.account-danger-zone>div{gap:3px;display:grid}.account-danger-zone strong{color:var(--error);font-size:12px}.account-danger-zone span{color:var(--text-muted);font-size:11px;line-height:1.45}.account-danger-zone button{border-color:color-mix(in srgb, var(--error) 46%, transparent);color:var(--error)}.account-action-message{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--thai-blue) 7%, transparent);padding:10px 12px}.account-delete-dialog{z-index:140;background:color-mix(in srgb, var(--ink) 52%, transparent);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.account-delete-dialog>section{border:1px solid color-mix(in srgb, var(--error) 18%, var(--border));border-radius:var(--radius-sheet);background:var(--surface);width:min(100%,510px);max-height:calc(100dvh - 40px);box-shadow:0 28px 90px color-mix(in srgb, var(--ink) 30%, transparent);padding:28px;position:relative;overflow:auto}.account-delete-dialog-close{border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:11px;place-items:center;display:grid;position:absolute;top:18px;right:18px}.account-delete-dialog-close span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.account-delete-icon{background:color-mix(in srgb, var(--error) 10%, transparent);width:46px;height:46px;color:var(--error);border-radius:15px;place-items:center;display:grid}.account-delete-dialog h2{font-size:var(--type-section-title);letter-spacing:-.025em;margin:18px 44px 8px 0;font-weight:700;line-height:1.25}.account-delete-dialog>section>p,.account-delete-dialog li{color:var(--text-muted);font-size:13px;line-height:1.55}.account-delete-dialog ul{gap:7px;margin:18px 0;padding-left:20px;display:grid}.account-delete-dialog label{color:var(--ink);margin-bottom:7px;font-size:12px;font-weight:720;display:block}.account-delete-dialog input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:48px;color:var(--ink);font:inherit;letter-spacing:.08em;background:#fffdf8;outline:none;padding:0 13px;font-weight:720}.account-delete-dialog input:focus{border-color:var(--error);box-shadow:0 0 0 4px color-mix(in srgb, var(--error) 10%, transparent)}.account-delete-dialog-actions{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.account-delete-dialog-actions button{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:43px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;padding:0 15px;font-size:12px;font-weight:720}.account-delete-dialog-actions .danger{border-color:var(--error);background:var(--error);color:var(--cream)}.account-reset-state .account-primary{width:100%}.account-restore-state{display:grid}.account-restore-summary{border:1px solid color-mix(in srgb, var(--thai-blue) 24%, var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--thai-blue) 6%, var(--cream));gap:4px;margin-top:24px;padding:16px;display:grid}.account-restore-summary strong{font-size:14px}.account-restore-summary span,.account-restore-state>small{color:var(--text-muted);font-size:11px;line-height:1.5}.account-restore-warning{color:var(--text-muted);margin:14px 0 0;font-size:12px;line-height:1.55}.account-restore-actions{gap:9px;margin-top:8px;display:grid}.account-restore-actions .account-primary{width:100%}.account-restore-secondary{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:48px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;font-size:12px;font-weight:720}.account-restore-secondary:disabled{cursor:not-allowed;opacity:.46}.account-restore-state>small{margin-top:10px}@media (width<=540px){.account-danger-zone{grid-template-columns:1fr}.account-danger-zone button{width:100%}.account-delete-dialog>section{padding:24px 20px}.account-delete-dialog-actions{flex-direction:column-reverse}.account-delete-dialog-actions button{width:100%}}.account-loading{color:var(--text-muted);justify-content:center;align-items:center;gap:12px;display:flex}.spin-icon{animation:.72s linear infinite spin}.loading-orbit{border:3px solid #2d2a4a1f;border-top-color:var(--thai-red);border-radius:50%;width:34px;height:34px;animation:.72s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=520px){.page{padding-left:24px;padding-right:24px}.status-pill{display:flex}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=760px){.page{padding:32px 32px 72px}.question-card{justify-content:center;margin-top:0}.thai-character{width:220px;height:220px;font-size:132px}}@media (width>=1180px){.account-layout{grid-template-columns:minmax(440px,.9fr) minmax(390px,1.1fr)}.account-panel,.account-benefits{min-height:580px;padding:50px}.page{padding-left:40px;padding-right:40px}}@media (width<=680px){.alphabet-reference-actions{flex-direction:column;justify-content:stretch;align-items:stretch;margin-top:0}.alphabet-reference-actions .secondary-action{justify-content:space-between;width:100%}.reference-grid{grid-template-columns:1fr}.reference-card-summary{grid-template-columns:62px minmax(0,1fr) auto}.reference-glyph{width:58px;height:64px;font-size:42px}.reference-card-summary>svg{grid-area:1/3}.reference-class-pill{grid-column:2;justify-self:start}.reference-filter-rail{grid-template-columns:repeat(2,1fr);display:grid}.reference-filter{padding:0 10px}.read-thai-course-hero>svg{display:none}.read-thai-course-row{grid-template-columns:34px minmax(0,1fr);padding:20px 18px}.read-thai-course-row>svg,.read-thai-premium-label{grid-column:2;justify-self:start}.read-thai-guide-card,.read-thai-practice-card{border-radius:var(--radius-lg);padding:24px 20px}.read-thai-examples article{grid-template-columns:1fr;gap:10px}.read-thai-lesson-footer{flex-direction:column-reverse;align-items:stretch}.read-thai-lesson-footer .primary-action,.read-thai-lesson-footer .secondary-action{width:100%}.lesson-guide-example-grid,.lesson-guide-practice-grid{grid-template-columns:1fr}.lesson-feedback{padding:14px 20px calc(14px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:12px}.lesson-feedback .primary-action{width:100%}.lesson-intro-card{grid-template-columns:1fr;min-height:560px;padding:34px 26px 18px}.lesson-intro-card img{justify-self:center;width:min(280px,80vw);max-height:220px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.vocabulary-page,.vocabulary-set-page{max-width:1360px}.vocabulary-header{max-width:760px}.catalog-stats{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.catalog-stats span{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:999px;align-items:baseline;gap:8px;padding:10px 14px;font-size:12px;display:flex}.catalog-stats strong{color:var(--ink);font-size:17px}.custom-vocabulary-entry{border:1px solid color-mix(in srgb, var(--thai-blue) 24%, var(--border));border-radius:var(--radius-md);background:var(--surface);width:min(100%,520px);color:var(--ink);grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin-top:18px;padding:15px 16px;text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:0 7px 24px #2d2a4a0f}.custom-vocabulary-entry:hover{border-color:color-mix(in srgb, var(--thai-blue) 48%, var(--border));transform:translateY(-1px);box-shadow:0 10px 28px #2d2a4a1a}.custom-vocabulary-entry span{gap:3px;display:grid}.custom-vocabulary-entry small{color:var(--text-muted);line-height:1.45}.catalog-controls{z-index:8;top:var(--topbar-height);background:var(--paper);margin:0;padding:12px 0;position:sticky}.catalog-search{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:11px;width:min(100%,540px);height:50px;padding:0 16px;display:flex;box-shadow:0 5px 18px #2d2a4a0f}.catalog-search:focus-within{border-color:color-mix(in srgb, var(--thai-blue) 55%, var(--border));box-shadow:0 0 0 3px #2457a61a}.catalog-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.catalog-search input::placeholder{color:var(--text-muted)}.catalog-filters{scrollbar-width:none;gap:4px;margin-top:12px;padding:2px 0 7px;display:flex;overflow-x:auto}.catalog-filters::-webkit-scrollbar{display:none}.filter-pill{min-height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;padding:0 14px;font-size:13px;font-weight:650;position:relative}.filter-pill>span:last-child{z-index:1;align-items:center;gap:6px;display:flex;position:relative}.filter-pill-active{color:var(--cream)}.filter-pill-background{border-radius:inherit;background:var(--ink);position:absolute;inset:0}.catalog-result-line,.word-list-heading{color:var(--text-muted);justify-content:space-between;align-items:center;margin:18px 0 14px;font-size:13px;display:flex}.catalog-result-line button{color:var(--thai-blue);cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:650}.catalog-grid{grid-template-columns:1fr;gap:12px;display:grid}.catalog-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-resting);transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;overflow:hidden}.catalog-card:hover{box-shadow:var(--shadow-raised);border-color:#2457a647;transform:translateY(-2px)}.catalog-card a{flex-direction:column;min-height:200px;padding:24px;display:flex}.catalog-card-kicker{color:var(--thai-blue);padding-right:38px;font-size:12px;font-weight:750}.catalog-card h2{letter-spacing:-.03em;max-width:88%;margin:20px 0 9px;font-size:21px;line-height:1.15}.catalog-card p{color:var(--text-muted);margin:0 0 25px;font-size:13px;line-height:1.5}.catalog-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:15px;font-size:12px;font-weight:650;display:flex}.vocabulary-collections-section{margin-top:42px}.section-heading-row{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;display:flex}.section-heading-row h2{font-size:var(--type-section-title);letter-spacing:-.025em;margin:5px 0 0;font-weight:700;line-height:1.25}.vocabulary-collections-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}.vocabulary-collection-card a{min-height:180px}.vocabulary-collection-card .catalog-card-kicker{align-items:center;gap:6px;display:flex}.vocabulary-collection-page,.vocab-passport-page{max-width:1360px}.vocab-passport-header{max-width:800px}.passport-overview{align-items:baseline;gap:14px;margin-top:26px;display:flex}.passport-overview strong{color:var(--thai-blue);letter-spacing:-.07em;font-size:clamp(32px,3vw,40px);line-height:.9}.passport-overview span{max-width:180px;color:var(--text-muted);font-size:13px;line-height:1.4}.passport-recommendation{border:1px solid color-mix(in srgb, var(--thai-blue) 25%, var(--border));border-radius:var(--radius-lg);color:var(--ink);box-shadow:var(--shadow-resting);background:linear-gradient(135deg,#fff8eae6,#e8f1fccc);grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin:34px 0 20px;padding:18px 20px;text-decoration:none;display:grid}.passport-recommendation span{gap:3px;display:grid}.passport-recommendation small,.passport-recommendation em{color:var(--text-muted);font-size:12px;font-style:normal}.passport-domain-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px;display:grid}.passport-domain-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-resting);padding:22px}.passport-domain-ready,.passport-domain-confident{border-color:color-mix(in srgb, var(--thai-blue) 36%, var(--border));background:linear-gradient(150deg,#fff8ead6,#ddeefbb8)}.passport-domain-heading,.passport-domain-metrics{justify-content:space-between;align-items:center;gap:10px;display:flex}.passport-domain-heading{color:var(--thai-blue);font-size:12px;font-weight:750}.passport-domain-card h2{letter-spacing:-.035em;margin:24px 0 7px;font-size:21px}.passport-domain-card p{color:var(--text-muted);margin:0;font-size:12px}.passport-progress-track{background:#2d2a4a1a;border-radius:99px;height:7px;margin:24px 0 12px;overflow:hidden}.passport-progress-track span{border-radius:inherit;background:var(--thai-blue);height:100%;display:block}.passport-domain-metrics{color:var(--text-muted);font-size:12px}.passport-domain-metrics strong{color:var(--ink);font-size:17px}.global-search-page{max-width:1080px}.global-search-header{max-width:780px}.global-search-form{z-index:10;border:1px solid color-mix(in srgb, var(--thai-blue) 24%, var(--border));border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-raised);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:34px 0 22px;padding:12px 16px;display:grid;position:sticky;top:62px}.global-search-form input{min-width:0;height:36px;color:var(--ink);background:0 0;border:0;outline:0;font-size:16px}.global-search-form button{cursor:pointer;background:#2d2a4a14;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.recent-searches{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px;display:flex}.recent-searches strong{color:var(--text-muted);margin-right:4px;font-size:12px}.recent-searches button{border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;padding:8px 12px}.global-search-section{margin-top:30px}.global-search-section>h2{color:var(--text-muted);margin:0 0 10px;font-size:12px}.global-search-results{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-resting);overflow:hidden}.global-search-result{border-bottom:1px solid var(--border);align-items:center;display:flex}.global-search-result .word-save-control{margin-inline-end:14px}.global-search-result:last-child{border-bottom:0}.global-search-results a{min-width:0;min-height:70px;color:var(--ink);flex:1;justify-content:space-between;align-items:center;gap:18px;padding:14px 18px;text-decoration:none;display:flex}.global-search-results a:hover{background:#2457a60f}.global-search-results span{gap:4px;min-width:0;display:grid}.global-search-results strong[lang=th]{font-family:Noto Sans Thai Variable,sans-serif;font-size:19px}.global-search-results small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.global-search-empty{border:1px dashed var(--border);border-radius:var(--radius-lg);text-align:center;margin-top:28px;padding:28px}.global-search-empty a{color:var(--thai-blue);align-items:center;gap:8px;margin-top:10px;font-weight:700;display:inline-flex}@media (width>=760px){.global-search-form{top:14px}}.favorite-button{z-index:2;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:15px;right:15px}.favorite-button-active{color:var(--thai-red);border-color:#d63b4c40}.load-more,.save-set-button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 19px;font-weight:700;display:flex}.load-more{margin:28px auto 0}.catalog-empty,.catalog-page-state{text-align:center;min-height:280px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.catalog-empty h2{color:var(--ink);margin:16px 0 5px}.catalog-empty p{margin:0}.back-link{color:var(--text-muted);align-items:center;gap:7px;margin-bottom:24px;font-size:13px;font-weight:650;display:inline-flex}.set-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:30px;display:flex}.set-header h1{max-width:800px;font-size:var(--type-page-title);letter-spacing:-.03em;margin:10px 0 8px;font-weight:700;line-height:1.15}.set-header p{color:var(--text-muted);margin:0}.vocabulary-set-actions{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff8eaeb,#f5e8d08f);grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr);gap:24px;margin:24px 0 0;padding:22px;display:grid}.vocabulary-set-actions h2{color:var(--ink);font-size:var(--type-section-title);letter-spacing:-.025em;margin:7px 0 0;font-weight:700;line-height:1.25}.vocabulary-set-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.vocabulary-set-action-grid>a{border:1px solid var(--border);border-radius:var(--radius-md);min-height:94px;color:var(--ink);background:#fffdf7db;align-items:flex-start;gap:10px;padding:14px;display:flex}.vocabulary-set-action-grid>a:hover{border-color:color-mix(in srgb, var(--thai-red) 34%, var(--border));transform:translateY(-2px)}.vocabulary-set-action-grid>a.vocabulary-set-action-primary{background:var(--thai-red);color:#fff;border-color:#0000}.vocabulary-set-action-grid span{gap:5px;display:grid}.vocabulary-set-action-grid small{color:inherit;opacity:.72;font-size:11px;line-height:1.4}.vocabulary-set-management{border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);background:var(--surface);border-radius:1.25rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin:1rem 0 1.7rem;padding:clamp(1rem,2.5vw,1.45rem);display:grid}.vocabulary-set-management h2{margin:.22rem 0 .25rem;font-size:1.05rem}.vocabulary-set-management p{max-width:43rem;color:color-mix(in srgb, var(--ink) 61%, transparent);margin:0;font-size:.8rem;line-height:1.5}.vocabulary-set-management>button{border:1px solid color-mix(in srgb, var(--thai-red) 27%, transparent);color:var(--thai-red);cursor:pointer;background:0 0;border-radius:.78rem;align-items:center;gap:.45rem;padding:.75rem .9rem;font-weight:710;display:inline-flex}.vocabulary-set-management .vocabulary-set-reset-notice{color:#26704d;grid-column:1/-1;font-weight:700}.vocabulary-set-management .vocabulary-set-reset-error{color:#a72f3d;grid-column:1/-1;font-weight:700}.vocabulary-set-reset-dialog{z-index:120;background:color-mix(in srgb, var(--ink) 46%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.vocabulary-set-reset-dialog>div{border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);border-radius:var(--radius-lg);background:var(--surface);width:min(100%,31rem);box-shadow:0 1.5rem 4rem color-mix(in srgb, var(--ink) 24%, transparent);padding:1.4rem}.vocabulary-set-reset-dialog>div>svg{color:var(--thai-red)}.vocabulary-set-reset-dialog h2{margin:.65rem 0 .45rem}.vocabulary-set-reset-dialog p{color:color-mix(in srgb, var(--ink) 66%, transparent);line-height:1.55}.vocabulary-set-reset-dialog>div>div{justify-content:flex-end;gap:.6rem;margin-top:1.2rem;display:flex}.vocabulary-set-reset-dialog button{border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);color:var(--ink);cursor:pointer;background:0 0;border-radius:.72rem;padding:.72rem .9rem;font-weight:710}.vocabulary-set-reset-dialog button.danger{border-color:var(--thai-red);color:var(--cream);background:var(--thai-red)}.save-set-button-active{color:var(--thai-red);border-color:#d63b4c40}.word-search{margin-top:28px}.word-list-heading span{font-size:12px}.word-list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.word-row{border-bottom:1px solid var(--border);grid-template-columns:36px minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:14px;min-height:92px;padding:15px 18px;display:grid}.word-row:last-child{border-bottom:0}.word-row-saveable{grid-template-columns:36px minmax(0,1.1fr) minmax(0,1fr) auto}.word-save-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:12px;display:inline-flex}.word-save-button.is-saved{color:var(--thai-blue);border-color:color-mix(in srgb, var(--thai-blue) 30%, transparent);background:color-mix(in srgb, var(--thai-blue) 6%, var(--cream))}.word-save-button:disabled{opacity:.6;cursor:progress}.word-save-error{max-width:18rem;color:var(--error);font-size:13px;display:block}.word-save-control{min-width:0}.saved-word-source{color:var(--thai-blue);font-size:12px}.word-row-saveable .word-thai{overflow-wrap:anywhere}.saved-words-controls,.saved-words-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-block:20px;display:flex}.saved-words-page .word-search{margin-top:0}.saved-words-controls label{color:var(--text-muted);gap:6px;font-size:12px;display:grid}.saved-words-controls select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-width:100%;color:var(--ink);font:inherit;padding:10px}.saved-words-actions>div{gap:4px;margin-inline-end:auto;display:grid}.saved-words-actions small{color:var(--text-muted)}.saved-words-actions .load-more{margin:0}.word-row:target{border-radius:var(--radius-md);background:color-mix(in srgb, var(--thai-blue) 10%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--thai-blue) 34%, transparent)}.word-number{color:var(--text-muted);font-size:10px}.word-thai,.word-translation{flex-direction:column;gap:3px;min-width:0;display:flex}.word-thai strong{font-family:Noto Sans Thai Variable,sans-serif;font-size:24px;line-height:1.25}.word-thai span,.word-translation span{color:var(--text-muted);font-size:12px}.word-translation strong{font-size:15px}@media (width>=680px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1060px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=920px){.vocabulary-set-actions{grid-template-columns:1fr}}@media (width<=560px){.set-header{flex-direction:column}.save-set-button{width:100%}.vocabulary-set-actions,.vocabulary-set-action-grid{grid-template-columns:1fr}.vocabulary-set-actions{padding:18px}.word-row{grid-template-columns:28px 1fr}.word-translation{border-top:1px solid #2d2a4a14;grid-column:2;padding-top:7px}.word-row-saveable{grid-template-columns:24px minmax(0,1fr) auto;gap:12px}.word-row-saveable .word-translation{grid-row:2}.word-row-saveable .word-save-control{grid-area:1/3/3;align-self:start}.saved-words-actions .primary-action{width:100%}}.mascot{aspect-ratio:1;isolation:isolate;flex:none;width:200px;max-width:100%;position:relative}.mascot__figure{transform-origin:50% 90%;width:100%;height:100%;position:relative}.mascot__figure img,.mascot__figure video{object-fit:contain;width:100%;height:100%;display:block}.mascot__figure video{border-radius:50%;position:absolute;inset:0}.mascot__halo{z-index:-1;background:radial-gradient(circle, color-mix(in srgb, var(--gold) 16%, transparent), transparent 70%);border-radius:50%;position:absolute;inset:14%}.mascot--film{border:1px solid var(--border);box-shadow:var(--shadow-resting);background:#fff;border-radius:50%;padding:12px}.mascot--film .mascot__halo{inset:-8%}.illustrated-header{justify-content:space-between;align-items:center;gap:24px;display:flex}.illustrated-header>div:first-child{min-width:0}.illustrated-header>.mascot{width:clamp(140px,19vw,220px)}.illustrated-state{text-align:center;flex-direction:column;align-items:center;width:min(100%,560px);margin:0 auto;padding:24px;display:flex}.illustrated-state .mascot{width:148px}.illustrated-state h2{letter-spacing:-.035em;margin:8px 0;font-size:clamp(24px,4vw,32px)}.illustrated-state p{max-width:440px;color:var(--text-muted);margin:8px auto 20px;line-height:1.6}.illustrated-state__actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.illustrated-state--compact{text-align:start;flex-direction:row;gap:20px;padding:20px 0}.illustrated-state--compact .mascot{width:112px}.illustrated-state--compact p{margin-bottom:12px}.illustrated-state--compact .illustrated-state__actions{justify-content:start}.illustrated-state__loading{gap:6px;display:inline-flex}.illustrated-state__loading i{background:var(--gold);width:6px;height:6px;animation:work-pulse var(--motion-loading) var(--motion-ease) infinite;border-radius:50%}.illustrated-state__loading i:nth-child(2){animation-delay:var(--motion-quick)}.illustrated-state__loading i:nth-child(3){animation-delay:var(--motion-section)}@keyframes work-pulse{0%,to{opacity:.3}50%{opacity:1}}:is(.primary-action,.secondary-action,.premium-primary,.premium-secondary,.choice,.filter-pill,.favorite-button,.daily-word-actions button,.daily-word-tiles button,.onboarding-choice,.practice-hub__filters button,.profile-settings__option){transition:transform var(--motion-quick) var(--motion-ease), background-color var(--motion-quick) var(--motion-ease), border-color var(--motion-quick) var(--motion-ease), box-shadow var(--motion-quick) var(--motion-ease)}:is(.primary-action,.secondary-action,.premium-primary,.premium-secondary,.choice,.filter-pill,.favorite-button,.daily-word-actions button,.daily-word-tiles button,.onboarding-choice,.practice-hub__filters button):not(:disabled):active{transform:translateY(var(--motion-press-y)) scale(var(--motion-press-scale))}.action-icon svg,.path-row>svg{transition:transform var(--motion-quick) var(--motion-ease)}@media (hover:hover) and (pointer:fine){.primary-action:hover .action-icon svg,.path-row:hover>svg{transform:translateX(var(--motion-slide))}}.collection-hero-art{border-radius:var(--radius-lg);width:clamp(130px,20vw,220px);height:auto}.app-content .premium-hero{text-align:start;justify-content:space-between;align-items:center;gap:24px;max-width:none;margin-bottom:24px;display:flex}.premium-hero-copy{flex:1}.premium-hero-copy>p:last-child{color:var(--text-muted);font-size:17px;line-height:1.6}.premium-hero .eyebrow{align-items:center;gap:8px;display:flex}.premium-hero>.mascot{width:clamp(160px,20vw,240px)}.premium-benefits{border-block:1px solid var(--border);grid-template-columns:1fr 1fr;gap:18px 28px;margin:0 auto 28px;padding:24px 0;list-style:none;display:grid}.premium-benefits li{align-items:start;gap:10px;font-size:14px;line-height:1.6;display:flex}.premium-benefits svg{color:var(--success);flex:none;margin-top:3px}.app-content .premium-status-card{max-width:none;box-shadow:var(--shadow-resting)}.account-benefits>.mascot{width:150px;margin:-8px auto 14px}.lesson-result>.mascot{width:170px;height:auto;margin:0 auto 20px}.lesson-feedback .lesson-feedback-copy{text-align:start;flex-direction:row;justify-content:center;align-items:center;gap:12px;display:flex}.lesson-feedback .lesson-feedback-copy>div:last-child{gap:5px;display:grid}.lesson-feedback .lesson-feedback-mascot{width:70px;height:70px}.lesson-progress>span{transition:width var(--motion-section) var(--motion-ease)}@media (width<=640px){.illustrated-header{grid-template-columns:minmax(0,1fr) 108px;align-items:start;gap:6px 12px;display:grid}.illustrated-header>div:first-child{display:contents}.illustrated-header>div:first-child>.eyebrow{grid-area:1/1}.illustrated-header>div:first-child>h1{grid-area:2/1;margin:0}.illustrated-header>div:first-child>p{grid-area:3/1/auto/-1;margin:14px 0 0}.illustrated-header>div:first-child>.catalog-stats{grid-area:4/1/auto/-1}.illustrated-header>.mascot,.illustrated-header>.collection-hero-art{grid-area:1/2/3}.illustrated-header>.mascot{width:108px;margin-top:8px}.collection-hero-art{width:108px}.app-content .premium-hero{gap:12px}.premium-hero>.mascot{width:112px}.premium-benefits{grid-template-columns:1fr}.lesson-feedback .lesson-feedback-mascot{width:52px;height:52px}}.page>h1:first-child,.page>.illustrated-header+*{position:relative}.page-today>h1{margin-bottom:20px}.page-split{gap:32px;display:grid}.page-split__main,.page-split__aside{align-content:start;gap:32px;min-width:0;display:grid}.page-split__aside{gap:24px}.side-heading{letter-spacing:-.02em;margin:0 0 10px;font-size:18px;font-weight:700}.section-heading{align-items:center;margin-bottom:12px}.section-heading h2,.section-heading-row h2{letter-spacing:-.025em;margin:0;font-size:20px;font-weight:700}.editorial-header{max-width:none;padding:0 0 20px}.editorial-header p{max-width:60ch;margin:8px 0 0;font-size:15px;line-height:1.55}.illustrated-header{z-index:0;position:relative}.illustrated-header+*{z-index:1}.illustrated-header>.mascot{width:176px;margin:-12px 8px -44px 0}.illustrated-header p{max-width:54ch;color:var(--text-muted)}.today-hero{border-radius:var(--radius-lg);background:radial-gradient(circle at 85% 15%, #2457a64d, transparent 45%), var(--ink);color:var(--cream);grid-template-columns:minmax(0,1fr) 124px;align-items:center;display:grid;position:relative;overflow:hidden}.today-hero-copy{z-index:2;padding:24px 0 24px 20px;position:relative}.today-hero h2{letter-spacing:-.03em;margin:6px 0 8px;font-size:28px;font-weight:700;line-height:1.12}.today-hero p{max-width:48ch;color:var(--text-muted-on-ink);margin:0 0 18px;font-size:15px;line-height:1.5}.today-hero .eyebrow{color:#e2ba62}.today-hero .primary-action,.lesson-intro-card .primary-action{background:var(--cream);color:var(--ink)}.today-hero .primary-action:hover,.lesson-intro-card .primary-action:hover{background:#fff}.today-hero .action-icon,.lesson-intro-card .action-icon{background:var(--paper-muted);color:var(--ink)}.today-hero-art{z-index:1;padding-right:6px;position:relative}.today-hero-art .mascot{width:100%}.metric-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.metric-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;justify-content:space-between;gap:6px;min-width:0;min-height:84px;padding:12px;display:flex}.metric-card span{color:var(--text-muted);font-size:13px;line-height:1.25}.metric-card strong{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.daily-plan-section,.daily-word-section{margin-top:0}.daily-plan-upcoming,.daily-plan-completions{gap:8px;display:grid}.daily-plan-upcoming h3,.daily-plan-completions h3{color:var(--text-muted);margin:8px 0 0;font-size:13px;font-weight:600}.daily-plan-upcoming h3:first-child,.daily-plan-completions h3:first-child{margin-top:0}.plan-row,.path-row{background:var(--surface);box-shadow:none;transition:border-color var(--motion-quick) var(--motion-ease), box-shadow var(--motion-quick) var(--motion-ease)}.plan-row{border-radius:var(--radius-md);min-height:68px;padding:12px 14px}.plan-row:hover,.path-row:not(.path-row-disabled):hover{border-color:var(--border-strong);background:var(--surface);box-shadow:var(--shadow-resting);transform:none}.daily-word-card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:none;grid-template-columns:minmax(0,1fr);gap:16px;padding:20px}.daily-word-thai{font-size:44px;line-height:1.3}.daily-word-romanization{margin-top:2px}.daily-word-copy strong{margin-top:6px;font-size:16px;font-weight:650}.daily-word-task-progress{margin-top:10px;font-size:12px;font-weight:600}.daily-word-actions{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);max-width:none;display:grid}.daily-word-actions button,.daily-word-practice-link{background:0 0;min-height:40px;padding:4px 10px;font-size:13px;font-weight:600}.daily-word-actions button:hover{background:var(--selected)}.daily-word-practice-link{background:var(--ink);grid-column:1/-1;min-height:44px;font-size:14px}.lesson-path{gap:8px;max-width:none;position:relative}.lesson-path:before{z-index:0;background:var(--border);content:"";width:2px;position:absolute;top:28px;bottom:28px;left:33px}.path-row{border-radius:var(--radius-md);min-height:84px;padding:14px}.path-row-disabled{background:var(--paper-muted);opacity:1}.path-row-disabled .path-copy,.path-row-disabled>svg{opacity:.62}.alphabet-reference-actions{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);justify-content:stretch;margin:0;display:grid;overflow:hidden}.alphabet-reference-actions .secondary-action{width:100%;min-height:52px;box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:flex-start;padding:8px 14px;font-size:14px;font-weight:600;transform:none}.alphabet-reference-actions .secondary-action:hover{background:var(--selected);transform:none}.alphabet-reference-actions .secondary-action+.secondary-action{border-top:1px solid var(--border)}.alphabet-reference-actions .secondary-action>span{text-align:start;flex:1}.alphabet-reference-actions .secondary-action>svg{flex:none}.alphabet-reference-actions .secondary-action>svg:last-child{color:var(--text-muted)}.vocabulary-browse{grid-template-columns:minmax(0,1fr);gap:16px;display:grid;position:relative}.vocabulary-browse__results{align-content:start;gap:20px;min-width:0;display:grid}.vocabulary-browse__results>*{margin-top:0;margin-bottom:0}.catalog-stats{margin-top:10px}.vocabulary-shortcuts{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);display:grid;overflow:hidden}.vocabulary-shortcuts .custom-vocabulary-entry{min-width:0;min-height:48px;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:8px 14px;transform:none}.vocabulary-shortcuts .custom-vocabulary-entry:hover{background:var(--selected);transform:none}.vocabulary-shortcuts .custom-vocabulary-entry+.custom-vocabulary-entry{border-top:1px solid var(--border)}.vocabulary-shortcuts .custom-vocabulary-entry strong{font-size:14px;font-weight:600}.vocabulary-shortcuts .custom-vocabulary-entry>svg{flex:none}.vocabulary-collections-section .section-heading-row{margin:0 0 12px}.vocabulary-collections-grid{grid-template-columns:minmax(0,1fr);gap:12px}.vocabulary-collection-card>a{grid-template-columns:80px minmax(0,1fr);column-gap:14px;min-height:0;padding:12px;display:grid}.collection-card-art{border-radius:var(--radius-sm);object-fit:cover;grid-area:1/1/5;align-self:center;width:80px;height:92px}.vocabulary-collection-card .catalog-card-kicker{align-self:end;padding:0}.vocabulary-page .vocabulary-collection-card h2{max-width:none;margin:2px 0;font-size:16px}.vocabulary-page .vocabulary-collection-card p{margin:0 0 4px;font-size:13px}.vocabulary-page .vocabulary-collection-card .catalog-card-footer{padding-top:6px}.collection-expand{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;margin:12px 0 0;font-size:14px;font-weight:600;display:flex}.collection-expand:hover{background:var(--selected)}.catalog-search{border-radius:var(--radius-sm);background:var(--surface);width:100%;height:44px}.catalog-card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:none;transition:border-color var(--motion-quick) var(--motion-ease), box-shadow var(--motion-quick) var(--motion-ease)}.catalog-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-resting);transform:none}.catalog-card-kicker{color:var(--text-muted);letter-spacing:0;text-transform:none;font-size:12px;font-weight:600}@media (width<=640px){.illustrated-header{grid-template-columns:minmax(0,1fr) 112px;margin-bottom:20px}.illustrated-header>.mascot{width:112px;margin:0 0 -20px}}@media (width>=520px){.today-hero{grid-template-columns:minmax(0,1fr) 200px}.today-hero-copy{padding:28px 0 28px 28px}.today-hero h2{font-size:34px}}@media (width>=760px){.page-split__aside{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.page-split--script .page-split__aside{grid-template-columns:minmax(0,1fr)}.vocabulary-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}.vocabulary-shortcuts .custom-vocabulary-entry+.custom-vocabulary-entry{border-top:0;border-left:1px solid var(--border)}.vocabulary-collections-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1180px){.page-split--script{grid-template-columns:minmax(0,1fr) 300px}.vocabulary-browse{grid-template-rows:auto 1fr;grid-template-columns:220px minmax(0,1fr);align-items:start;gap:16px 28px}.vocabulary-browse .catalog-controls{display:contents}.vocabulary-browse .catalog-search{z-index:1;grid-area:1/2;position:relative}.vocabulary-browse__results{grid-area:2/2}.vocabulary-browse .catalog-filters{top:calc(var(--topbar-height) + 16px);max-height:calc(100dvh - var(--topbar-height) - 32px);scrollbar-width:thin;flex-direction:column;grid-area:1/1/3;align-items:stretch;margin:0;padding:0;position:sticky;overflow-y:auto}.vocabulary-browse .filter-pill{border-radius:var(--radius-sm);text-align:start;white-space:normal;background:0 0;border:0;justify-content:flex-start;min-height:38px;padding:6px 12px;font-size:14px}.vocabulary-browse .filter-pill:hover:not(.filter-pill-active){background:var(--selected)}.vocabulary-browse .filter-pill-background{border-radius:inherit}}@media (width>=1280px){.page-split{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.page-split__aside{grid-template-columns:minmax(0,1fr)}.metric-row{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:minmax(0,1fr);gap:0;overflow:hidden}.metric-card{background:0 0;border:0;border-radius:0;flex-direction:row;align-items:center;min-height:50px;padding:8px 16px}.metric-card+.metric-card{border-top:1px solid var(--border)}.metric-card span{font-size:14px}.metric-card strong{font-size:18px}}@media (width>=1280px) and (height>=860px){.page-today .page-split__aside,.page-split--script .page-split__aside{top:calc(var(--topbar-height) + 24px);position:sticky}}.app-content .premium-hero h1{font-size:var(--type-page-title);letter-spacing:-.03em;line-height:1.15}
