:root{color:#263330;background:#eef2f1;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none;--mint: #25d4a6;--mint-deep: #10bc91;--cyan: #19c5df;--lime: #31dc59;--ink: #263330;--muted: #8b9996;--line: #e9efed;--panel: #ffffff;--page: #f5f7f6;--shadow: 0 8px 24px rgba(45, 72, 66, .08)}*{box-sizing:border-box}html,body,#root{height:100%}html{background:#eef2f1}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,label:focus-within{outline:3px solid rgba(25,197,223,.25);outline-offset:2px}.prototype-root{height:100dvh;padding:0 max(0px,env(safe-area-inset-right)) 0 max(0px,env(safe-area-inset-left))}.app-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,1120px);height:100%;margin:0 auto;position:relative;overflow:hidden;background:#fff;box-shadow:0 0 44px #26333014}.app-scroll-area{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}.screen{min-height:100%;padding-bottom:42px}.muted-screen{background:var(--page)}.nav-screen{padding-bottom:42px}.home-screen{background:var(--page)}.home-hero{min-height:220px;padding:14px 16px 18px;position:relative;overflow:hidden;background:radial-gradient(circle at 8% 72%,rgba(32,208,176,.12),transparent 17%),radial-gradient(circle at 94% 69%,rgba(32,208,176,.1),transparent 14%),#fff}.greeting-row{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-top:24px}.eyebrow,.greeting-row h1,.simple-title h1,.simple-title p,.section-heading h2,.section-heading button,.word-card h2,.course-card h2,.training-stage h1{margin:0}.eyebrow{margin-bottom:3px;color:#23312e;font-size:14px;font-weight:600}.greeting-row h1{display:none;font-size:16px;font-weight:600;letter-spacing:0}.today-badge{position:absolute;top:86px;left:16px;display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border:1px solid #d9f6ea;border-radius:999px;color:#179e7a;background:#edfff8eb;font-size:12px;white-space:nowrap}.today-badge img{width:15px;height:15px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;margin-top:58px}.stats-grid>div{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;border-right:1px solid #e4eae8}.stats-grid>div:last-child{border-right:0}.stats-grid strong{color:#1c2c28;font-size:27px;line-height:1;font-weight:700}.stats-grid span{color:#8d9996;font-size:11px}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px 18px 28px;border-top:1px solid #f3f5f4;background:var(--page)}.feature-grid button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;width:100%;min-width:0;min-height:108px;border:0;border-radius:11px;background:#fff;box-shadow:0 8px 25px #2d48420f;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.feature-grid button:hover{transform:translateY(-2px);box-shadow:0 12px 32px #2d48421f}.feature-grid img{width:48px;height:48px}.feature-grid span{font-size:13px;font-weight:500}.home-section{padding:0 0 70px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading h2{font-size:24px}.section-kicker{display:block;margin-bottom:6px;color:var(--mint-deep);font-size:10px;font-weight:750;letter-spacing:.16em}.section-heading button,.text-toggle{border:0;color:var(--mint-deep);background:transparent;cursor:pointer}.recent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.recent-card,.start-card{border:1px solid #edf2f0;border-radius:16px;background:#fff;box-shadow:var(--shadow)}.recent-card{display:flex;gap:16px;padding:22px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.recent-card:hover{transform:translateY(-2px);box-shadow:0 17px 42px #2b5c5024}.recent-card:focus-visible{outline:3px solid rgba(18,181,137,.3);outline-offset:3px}.recent-card:only-child{grid-column:1 / -1}.recent-card-mark{display:grid;place-items:center;flex:0 0 54px;height:54px;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--cyan),var(--lime));font-size:13px;font-weight:700}.recent-card span,.history-card span{color:#a2adaa;font-size:12px}.recent-card h3,.start-card h3{margin:5px 0 6px;font-size:17px}.recent-card p,.start-card p,.data-card p,.review-hero-card p,.empty-state p,.simple-title p{margin:0;color:#8a9693;font-size:13px;line-height:1.7}.start-card{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 30px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:12px;font-weight:650;cursor:pointer}.primary-button{border:0;color:#fff;background:linear-gradient(100deg,var(--cyan),var(--lime));box-shadow:0 8px 20px #1ccda43d}.secondary-button{border:1px solid #dce6e3;color:#53625e;background:#fff}.screen-header{position:relative;z-index:20;display:grid;grid-template-columns:110px 1fr 110px;align-items:center;min-height:72px;padding:0 24px;border-bottom:1px solid #edf1f0;background:#fff;box-shadow:0 5px 20px #2d413c0a}.screen-header-side{display:flex;justify-content:flex-start}.screen-header-copy{min-width:0;text-align:center}.screen-header-copy h1{margin:0;font-size:22px;font-weight:600}.screen-header-copy p{margin:3px 0 0;overflow:hidden;color:#8b9996;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.screen-header-brand{display:grid;place-items:center}.screen-header-brand img{display:block;width:196px;height:auto}.back-button{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:transparent;cursor:pointer}.back-button img{width:18px;filter:grayscale(1) brightness(.28);transform:rotate(180deg)}.screen-header-action{display:flex;justify-content:flex-end}.course-list,.word-list,.history-list,.data-layout{padding:22px 28px 48px}.course-list{display:grid;gap:18px}.course-card{padding:26px 30px 20px;border-radius:14px;background:#fff;box-shadow:0 3px 12px #384b4614;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.course-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #2a60521f}.course-card:focus-visible{outline:3px solid rgba(16,184,139,.26);outline-offset:2px}.course-card:active{transform:translateY(0)}.course-card h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:19px;font-weight:500}.progress-track{height:12px;margin:22px 0 17px;overflow:hidden;border-radius:999px;background:#edf2f1}.progress-track span{display:flex;align-items:center;justify-content:flex-end;height:100%;min-width:0;padding-right:5px;border-radius:inherit;color:#fff;background:linear-gradient(90deg,var(--cyan),var(--lime));font-size:10px}.course-meta{display:flex;align-items:center;justify-content:space-between;color:#99a4a1;font-size:14px}.word-toolbar{display:grid;grid-template-columns:1fr minmax(220px,360px) auto;align-items:center;gap:18px;padding:20px 28px 0}.word-count{font-size:16px}.word-toolbar input[type=search]{width:100%;min-height:42px;padding:0 16px;border:1px solid #e0e8e5;border-radius:12px;color:#33413e;background:#fff}.segmented-control{display:flex;padding:3px;border-radius:10px;background:#e9efed}.segmented-control button{min-height:34px;padding:0 14px;border:0;border-radius:8px;color:#7c8a87;background:transparent;cursor:pointer}.segmented-control button.active{color:#128f71;background:#fff;box-shadow:0 2px 7px #374e4814}.word-list{display:grid;gap:14px}.word-card{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:20px 24px;border-radius:12px;background:#fff;box-shadow:0 3px 12px #384b460f}.word-index{color:#c1c9c7;font-size:12px}.word-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.word-card h2{font-size:26px;font-weight:650}.phonetic,.translation,.example{margin:0}.phonetic{margin-top:4px;color:#9aa5a2;font-size:13px}.translation{margin-top:14px;color:#46534f;font-size:16px}.example{margin-top:10px;color:#87938f;font-size:13px;line-height:1.6}.audio-button{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border:0;border-radius:50%;background:#effdf8;cursor:pointer}.audio-button img{width:26px;height:26px;object-fit:contain}.word-actions{display:flex;gap:10px;margin-top:16px}.word-actions button{min-height:34px;padding:0 14px;border:1px solid #dce8e4;border-radius:10px;color:#66736f;background:#fff;cursor:pointer}.word-actions button.selected{border-color:#b9efdf;color:#0d9c78;background:#edfff8}.load-more{min-height:46px;border:1px solid #dce8e4;border-radius:12px;color:#4d625c;background:#fff;cursor:pointer}.training-setup-screen{background:radial-gradient(circle at 8% 6%,rgba(25,197,223,.1),transparent 25%),radial-gradient(circle at 92% 18%,rgba(49,220,89,.09),transparent 22%),var(--page)}.training-setup-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px;width:min(calc(100% - 40px),920px);margin:0 auto;padding:26px 0 52px}.training-setup-panel,.training-setup-summary{min-width:0;border:1px solid #e4ece9;border-radius:20px;background:#fffffff5;box-shadow:0 12px 34px #2d484214}.training-setup-panel{padding:28px}.training-setup-summary h3{margin:0}.training-setup-note{margin:7px 0 0;color:#84918d;font-size:13px;line-height:1.65}.training-setup-field{min-width:0;margin:26px 0 0;padding:0;border:0}.training-setup-panel>.training-setup-field:first-child{margin-top:0}.training-setup-field legend{display:flex;align-items:baseline;gap:12px;width:100%;margin-bottom:12px;padding:0}.training-setup-field legend strong{font-size:16px}.training-setup-field legend span{color:#98a39f;font-size:11px}.training-library-select{display:grid;grid-template-columns:70px 1fr;align-items:center;min-height:50px;padding:0 14px;border:1px solid #dce7e3;border-radius:13px;background:#fbfdfc}.training-library-select>span{color:#81908c;font-size:12px}.course-selector{min-width:0}.course-selector-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:44px;padding:0 10px;border:1px solid #dbe7e3;border-radius:10px;outline:0;color:#32413d;background:#fff;text-align:left;cursor:pointer}.course-selector-trigger>span{display:flex;min-width:0;flex:1;align-items:baseline;gap:8px}.course-selector-trigger strong{overflow:hidden;min-width:0;flex:1;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.course-selector-trigger em{flex:0 0 auto;color:#7f8e89;font-size:10px;font-style:normal;white-space:nowrap}.course-selector-trigger>i{width:7px;height:7px;flex:0 0 7px;border-right:1.5px solid #52625d;border-bottom:1.5px solid #52625d;transform:rotate(45deg) translateY(-2px);transition:transform .15s ease}.course-selector-trigger[aria-expanded=true]>i{transform:rotate(225deg) translate(-1px,-1px)}.course-selector-trigger:focus-visible{border-color:#72d8bc;box-shadow:0 0 0 3px #23be921f}.training-library-select .course-selector-trigger{height:48px;border:0;border-radius:0;background:transparent;font-weight:600}.course-selector-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:18px;background:#182b2575;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:review-help-fade-in .16s ease-out}.course-selector-sheet{width:min(560px,100%);max-height:min(680px,calc(100vh - 36px));overflow:hidden;padding:24px;border:1px solid #dcebe6;border-radius:22px;background:radial-gradient(circle at 100% 0,rgba(47,217,107,.08),transparent 28%),#fff;box-shadow:0 28px 78px #10312840;animation:review-help-rise-in .18s ease-out}.course-selector-sheet>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.course-selector-sheet h2{margin:0;color:#2f423c;font-size:22px}.course-selector-sheet>header>button{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid #dce7e3;border-radius:50%;color:#63736e;background:#f8fbfa;font-size:22px;line-height:1;cursor:pointer}.course-selector-options{display:grid;gap:7px;max-height:min(540px,calc(100vh - 150px));overflow-y:auto;padding-right:4px;scrollbar-color:#bddbd2 transparent;scrollbar-width:thin}.course-selector-options>button{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:12px;min-height:52px;padding:9px 12px;border:1px solid #e1ebe8;border-radius:13px;color:#475852;background:#fbfdfc;text-align:left;cursor:pointer}.course-selector-options>button:hover,.course-selector-options>button:focus-visible{border-color:#9cdec9;outline:0;background:#f1fff9}.course-selector-options>button.selected{border-color:#6dd5b8;color:#087b60;background:linear-gradient(100deg,#eafff7,#f6fffb);box-shadow:inset 0 0 0 1px #19b28917}.course-selector-options>button>span{display:flex;min-width:0;flex-direction:column;gap:3px}.course-selector-options strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.course-selector-options em{color:#87958f;font-size:10px;font-style:normal}.course-selector-options>button>i{display:grid;place-items:center;width:22px;height:22px;border:1px solid #d5e2de;border-radius:50%;color:transparent;font-size:12px;font-style:normal}.course-selector-options>button.selected>i{border-color:#20b98e;color:#fff;background:#20b98e}.core-duplicate-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px;padding:11px 13px;border:1px solid #dfece7;border-radius:12px;background:linear-gradient(100deg,#f7fffc,#fbfdfc)}.core-duplicate-setting>div{display:flex;min-width:0;flex-direction:column;gap:3px}.core-duplicate-setting strong{color:#3e4f49;font-size:12px}.core-duplicate-setting>div>span{overflow:hidden;color:#8b9994;font-size:10px;line-height:1.45;text-overflow:ellipsis}.core-duplicate-toggle{position:relative;display:flex;flex:0 0 auto;align-items:center;gap:7px;cursor:pointer}.core-duplicate-toggle input{position:absolute;width:1px;height:1px;opacity:0}.core-duplicate-toggle>span{position:relative;width:38px;height:22px;border:1px solid #d5e2de;border-radius:999px;background:#e9efed;transition:border-color .15s ease,background .15s ease}.core-duplicate-toggle i{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #2f4d4433;transition:transform .15s ease}.core-duplicate-toggle input:checked+span{border-color:#29bd94;background:#29bd94}.core-duplicate-toggle input:checked+span i{transform:translate(16px)}.core-duplicate-toggle input:focus-visible+span{outline:2px solid rgba(34,190,146,.26);outline-offset:2px}.core-duplicate-toggle em{min-width:30px;color:#667570;font-size:10px;font-style:normal;white-space:nowrap}.training-size-row{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none}.training-size-row::-webkit-scrollbar,.training-mode-options::-webkit-scrollbar{display:none}.training-size-options{display:flex;flex:1 0 220px;gap:6px}.training-size-options button{display:flex;flex:1 0 46px;align-items:center;justify-content:center;gap:3px;min-height:48px;padding:0 6px;border:1px solid #e0e9e6;border-radius:12px;color:#73807d;background:#fff;cursor:pointer;line-height:1}.training-size-options button strong{color:#32413d;font-size:18px}.training-size-options button span{font-size:11px}.training-size-options button.active{border-color:#84dfc6;color:#0d896b;background:#edfff8;box-shadow:inset 0 0 0 1px #13ae851f}.training-size-options button.active strong{color:#087c60}.training-custom-size{display:flex;flex:0 0 132px;align-items:center;justify-content:center;gap:5px;min-height:48px;padding:5px 8px;border:1px solid #e0e9e6;border-radius:12px;background:#fbfdfc}.training-custom-size>span{color:#45534f;font-size:11px;white-space:nowrap}.training-custom-size input{width:44px;height:34px;padding:0 4px;border:1px solid #d9e5e1;border-radius:9px;color:#087c60;background:#fff;text-align:center;font-weight:700}.training-custom-size em{color:#7d8b87;font-size:11px;font-style:normal}.training-mode-options{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.training-mode-options button{display:flex;flex:1 0 138px;align-items:center;gap:8px;min-height:52px;padding:8px 10px;border:1px solid #e0e9e6;border-radius:13px;color:#56645f;background:#fff;text-align:left;cursor:pointer}.training-mode-options button.active{border-color:#85dfc7;background:linear-gradient(100deg,#f0fff9,#f8fffc);box-shadow:inset 0 0 0 1px #13ae8517}.training-mode-options button:disabled{opacity:.45;cursor:not-allowed}.training-mode-check{display:grid;place-items:center;flex:0 0 19px;width:19px;height:19px;border:1px solid #cad7d3;border-radius:50%;color:#fff;font-size:12px}.training-mode-options button.active .training-mode-check{border-color:#16b88c;background:#16b88c}.training-mode-options strong{color:#45534f;font-size:13px;white-space:nowrap}.training-mode-options em{margin-left:auto;color:#82908c;font-size:10px;font-style:normal;white-space:nowrap}.training-setup-summary{position:sticky;top:18px;padding:26px}.training-ready-count{display:flex;align-items:baseline;gap:6px;margin:10px 0 4px}.training-ready-count strong{color:#0c9a75;font-size:58px;line-height:1}.training-ready-count span{color:#71817c;font-size:14px}.training-setup-summary h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.training-setup-summary dl{display:grid;gap:9px;margin:22px 0;padding:16px 0;border-top:1px solid #edf2f0;border-bottom:1px solid #edf2f0}.training-setup-summary dl div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.training-setup-summary dt{color:#8a9793}.training-setup-summary dd{margin:0;color:#3e4d49;font-weight:650}.training-setup-submit{width:100%;min-height:50px}.training-setup-submit:disabled{color:#9aa5a2;background:#e9eeec;box-shadow:none;cursor:not-allowed}.training-setup-note{text-align:center;font-size:10px}.training-screen{padding-bottom:110px;background:#fff}.training-progress-row{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;padding:0 28px;color:#7f8d89;font-size:12px}.training-progress-row .progress-track{height:8px;margin:20px 0}.training-stage{width:min(100% - 40px,680px);margin:48px auto 0;text-align:center}.training-audio{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid #ddf1eb;border-radius:999px;color:#149474;background:#f2fff9;cursor:pointer}.training-audio img{width:24px}.training-stage h1{margin-top:28px;font-size:clamp(48px,8vw,78px);letter-spacing:-.04em}.training-phonetic{min-height:24px;margin:10px 0 36px;color:#93a09c}.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.answer-grid button{min-height:64px;padding:12px 16px;border:1px solid #e1e9e6;border-radius:14px;background:#fff;box-shadow:0 4px 16px #3549440f;cursor:pointer}.answer-grid button.correct{border-color:#5ddeba;color:#0b8e6c;background:#eafff7}.answer-grid button.wrong{border-color:#f5a59c;color:#bd4c41;background:#fff1ef}.answer-feedback{margin-top:22px;padding:18px 22px;border-radius:14px;scroll-margin-bottom:96px;text-align:left}.answer-feedback.correct{color:#19765f;background:#edfff8}.answer-feedback.wrong{color:#98483f;background:#fff3f1}.answer-feedback p{margin:8px 0 3px}.answer-feedback span{font-size:13px;opacity:.75}.training-next{position:absolute;right:28px;bottom:28px;min-width:160px;min-height:50px;border:0;border-radius:14px;color:#fff;background:linear-gradient(100deg,var(--cyan),var(--lime));box-shadow:0 8px 20px #1ccda43d;cursor:pointer}.training-next:disabled{color:#a7b0ae;background:#edf0ef;box-shadow:none;cursor:not-allowed}.simple-title{padding:42px 48px 22px}.simple-title h1{font-size:32px}.simple-title p{margin-top:8px}.history-list{display:grid;gap:14px}.history-card{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:22px;padding:22px 28px;border-radius:15px;background:#fff;box-shadow:var(--shadow);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.history-card:hover{transform:translateY(-2px);box-shadow:0 17px 42px #2b5c5024}.history-card:focus-visible{outline:3px solid rgba(18,181,137,.3);outline-offset:3px}.history-score{display:flex;align-items:baseline;justify-content:center;color:#10a782}.history-score strong{font-size:30px}.history-card h2{margin:5px 0;font-size:18px}.history-card p{margin:0;color:#899591;font-size:13px}.session-detail-screen{padding-bottom:56px}.session-detail-layout{display:grid;gap:18px;padding:24px 28px 48px}.session-detail-summary{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px 34px;overflow:hidden;border:1px solid #d9f1ea;border-radius:20px;background:radial-gradient(circle at 88% 12%,rgba(25,197,223,.13),transparent 33%),linear-gradient(125deg,#fff,#f0fff9);box-shadow:0 14px 36px #26766017}.session-detail-summary h2,.session-answer-section h2,.session-answer-card h3,.legacy-session-note h3{margin:0}.session-detail-summary h2{font-size:25px}.session-detail-summary p{margin:8px 0 0;color:#83908d;font-size:13px}.session-detail-score{display:flex;flex-direction:column;align-items:flex-end;min-width:110px}.session-detail-score strong{color:#0e9c78;font-size:48px;line-height:1}.session-detail-score span{margin-top:6px;color:#78908a;font-size:11px}.session-detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border-radius:16px;background:#fff;box-shadow:var(--shadow)}.session-detail-metrics div{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 14px;border-right:1px solid #edf2f0}.session-detail-metrics div:last-child{border-right:0}.session-detail-metrics strong{font-size:26px}.session-detail-metrics span{color:#8c9895;font-size:12px}.session-answer-section{margin-top:8px}.answer-count{color:#86938f;font-size:12px}.answer-filter-group{display:flex;align-items:center;gap:5px;width:max-content;max-width:100%;margin-bottom:10px;padding:4px;overflow-x:auto;border:1px solid #e5ece9;border-radius:12px;background:#edf2f0;scrollbar-width:none}.answer-filter-group::-webkit-scrollbar{display:none}.answer-filter-group button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 11px;border:0;border-radius:9px;color:#73807d;background:transparent;white-space:nowrap;font-size:12px;cursor:pointer}.answer-filter-group button span{min-width:18px;padding:2px 5px;border-radius:999px;color:#87938f;background:#ffffffbd;text-align:center;font-size:10px}.answer-filter-group button.active{color:#0b8f6e;background:#fff;box-shadow:0 3px 10px #2f4b4417}.answer-filter-group button.active span{color:#087c60;background:#e8fff7}.answer-filter-empty{padding:34px 20px;border:1px dashed #d5e1de;border-radius:13px;color:#899591;background:#ffffffa6;text-align:center;font-size:13px}.session-answer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.session-answer-card{display:grid;grid-template-columns:26px 1fr;gap:10px;padding:13px 14px;border:1px solid #e7eeec;border-left:4px solid #42d1a9;border-radius:13px;background:#fff;box-shadow:0 4px 13px #2f4b440d;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.session-answer-card:hover{transform:translateY(-1px);box-shadow:0 7px 18px #2f4b4417}.session-answer-card:focus-visible{outline:3px solid rgba(25,197,223,.25);outline-offset:2px}.session-answer-card:active{transform:scale(.995)}.session-answer-card.wrong{border-left-color:#ef8e80}.session-answer-index{color:#bbc5c2;font-size:12px}.session-answer-word{display:flex;align-items:center;justify-content:space-between;gap:10px}.session-answer-word h3{font-size:18px;line-height:1.15}.session-answer-word p{margin:2px 0 0;color:#9aa5a2;font-size:11px}.session-answer-word .audio-button{flex:0 0 32px;width:32px;height:32px}.session-answer-word .audio-button img{width:19px;height:19px}.session-answer-result{grid-column:2;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:3px 10px;padding-top:8px;border-top:1px solid #edf2f0}.session-answer-result p{margin:0;color:#687671;font-size:12px;line-height:1.45}.session-answer-result strong{color:#34433f}.result-badge{display:inline-flex;grid-row:1 / span 2;padding:4px 8px;border-radius:999px;color:#138768;background:#eafff7;font-size:10px}.session-answer-card.wrong .result-badge{color:#b65145;background:#fff0ed}.legacy-session-note{padding:34px;border:1px dashed #cfddda;border-radius:16px;text-align:center;background:#ffffffb8}.legacy-session-note h3{font-size:18px}.legacy-session-note p{max-width:560px;margin:9px auto 0;color:#87938f;font-size:13px;line-height:1.7}.empty-state{padding:56px 24px;text-align:center}.empty-state h2{margin:0 0 7px;font-size:20px}.empty-state.elevated{border-radius:16px;background:#fff;box-shadow:var(--shadow)}.empty-state .primary-button{margin-top:20px}.review-screen{background:linear-gradient(180deg,#f1fff9 0,#f6f8f7 360px)}.review-hero-card{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:28px;margin:10px 48px 28px;padding:32px;border:1px solid rgba(192,239,225,.75);border-radius:22px;background:#ffffffeb;box-shadow:0 18px 42px #25826817}.review-ring{display:grid;place-items:center;align-content:center;width:126px;height:126px;border:12px solid #dff8ef;border-top-color:var(--mint);border-radius:50%}.review-ring strong{font-size:34px;line-height:1}.review-ring span{margin-top:7px;color:#83908d;font-size:11px}.review-hero-card h2{margin:0 0 6px;font-size:24px}.review-hero-kicker-row{display:flex;align-items:center;gap:12px;margin-bottom:6px}.review-hero-kicker-row .section-kicker{margin-bottom:0}.review-help-entry{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:0 9px 0 6px;border:1px solid #cfe8df;border-radius:999px;color:#397565;background:#f7fffc;font-size:10px;font-weight:650;cursor:pointer}.review-help-entry>span{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;color:#fff;background:#24b88f;font-size:10px;line-height:1}.review-help-entry:hover,.review-help-entry:focus-visible{border-color:#7ed9c0;outline:0;background:#edfff8}.review-hero-card .primary-button:disabled{color:#9aa5a2;background:#e9eeec;box-shadow:none;cursor:not-allowed}.review-config-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:14px;margin:0 48px 24px;padding:16px;border:1px solid #e2ece8;border-radius:18px;background:#fffffff0;box-shadow:0 12px 28px #315c5112}.review-config-card.has-core-filter{grid-template-areas:"library size" "duplicates duplicates"}.review-config-card.has-core-filter .review-library-select{grid-area:library}.review-config-card.has-core-filter .review-size-field{grid-area:size}.review-core-duplicate-setting{grid-area:duplicates;grid-column:1 / -1;margin-top:0}.review-library-select{display:grid;grid-template-columns:minmax(120px,.62fr) minmax(0,1.38fr);align-items:center;gap:14px;min-height:62px;padding:0 14px;border:1px solid #e0eae7;border-radius:13px;background:#fbfdfc}.review-library-select>span{display:flex;flex-direction:column;gap:3px}.review-library-select strong,.review-size-heading strong{color:#3e4e49;font-size:13px}.review-library-select em,.review-size-heading span{color:#94a19d;font-size:10px;font-style:normal}.review-library-select .course-selector-trigger{font-weight:650}.review-size-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;margin:0;padding:8px 10px 8px 14px;border:1px solid #e0eae7;border-radius:13px;background:#fbfdfc}.review-size-heading{display:flex;flex-direction:column;gap:3px;min-width:0;padding:0}.review-size-options{display:flex;align-items:center;gap:7px}.review-size-options>button,.review-custom-size{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;border:1px solid #dce7e3;border-radius:11px;color:#61716c;background:#fff}.review-size-options>button{min-width:100px;padding:0 10px;cursor:pointer}.review-size-options>button strong{font-size:12px}.review-size-options>button span,.review-custom-size>span,.review-custom-size em{color:#81908b;font-size:10px;font-style:normal;white-space:nowrap}.review-size-options>button.active,.review-custom-size.active{border-color:#7cddc2;color:#087b5f;background:#edfff8;box-shadow:inset 0 0 0 1px #13ae8514}.review-size-options>button:disabled{opacity:.42;cursor:not-allowed}.review-custom-size{min-width:124px;padding:4px 7px}.review-custom-size input{box-sizing:border-box;flex:0 0 46px;width:46px;min-width:46px;height:32px;padding:0 3px;border:1px solid #d8e5e1;border-radius:8px;color:#087c60;background:#fff;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;text-align:center;font-size:16px;font-weight:700;line-height:32px}.review-custom-size input::-webkit-inner-spin-button,.review-custom-size input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.review-preview{margin:0 48px}.review-word-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.review-word-grid article{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:14px;background:#fff;box-shadow:var(--shadow)}.review-word-grid span{overflow:hidden;color:#8b9794;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.review-help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:18px;background:#192d277a;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:review-help-fade-in .16s ease-out}.review-help-dialog{width:min(590px,100%);max-height:calc(100vh - 36px);overflow-y:auto;padding:28px;border:1px solid rgba(207,235,226,.9);border-radius:22px;background:radial-gradient(circle at 100% 0,rgba(54,222,118,.09),transparent 32%),#fff;box-shadow:0 30px 80px #0f342a3d;animation:review-help-rise-in .18s ease-out}.review-help-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.review-help-header h2{margin:0 0 7px;color:#283b35;font-size:24px}.review-help-header p{max-width:480px;margin:0;color:#7f8f89;font-size:12px;line-height:1.65}.review-help-close{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid #dce8e4;border-radius:50%;color:#61716c;background:#f8fbfa;font-size:22px;line-height:1;cursor:pointer}.review-help-close:hover,.review-help-close:focus-visible{border-color:#91ddc8;outline:0;color:#0d896b;background:#edfff8}.review-help-steps{display:grid;gap:9px;margin:22px 0 18px}.review-help-steps article{display:grid;grid-template-columns:34px 1fr;align-items:start;gap:11px;padding:11px 13px;border:1px solid #e5eeeb;border-radius:13px;background:#fbfdfc}.review-help-steps article>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:#078263;background:#e8fff6;font-size:10px;font-weight:800}.review-help-steps strong,.review-help-note strong{display:block;margin-bottom:3px;color:#3c4d47;font-size:13px}.review-help-steps p,.review-help-note p{margin:0;color:#83918d;font-size:11px;line-height:1.55}.review-help-levels{padding:15px;border:1px solid #dff0ea;border-radius:15px;background:linear-gradient(120deg,#f7fffc,#f0fbf7)}.review-help-levels>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:11px}.review-help-levels>div:first-child strong{color:#354640;font-size:13px}.review-help-levels>div:first-child span{color:#789088;font-size:10px}.review-memory-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.review-memory-scale article{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px;border:1px solid #dceae6;border-radius:10px;background:#fff}.review-memory-scale article.mastered{border-color:#a3e5d3;background:#eafff7}.review-memory-scale strong{color:#33453f;font-size:16px}.review-memory-scale span{color:#798b85;font-size:9px}.review-help-note{margin-top:12px;padding:13px 15px;border-left:3px solid #27bc93;border-radius:4px 12px 12px 4px;background:#f5faf8}.review-help-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px}.review-help-footer>span{color:#899792;font-size:10px}.review-help-footer .primary-button{flex:0 0 auto;min-height:40px;padding-inline:20px}@keyframes review-help-fade-in{0%{opacity:0}to{opacity:1}}@keyframes review-help-rise-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes course-selector-sheet-in{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.data-layout{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.data-card{padding:26px;border-radius:17px;background:#fff;box-shadow:var(--shadow)}.data-card h2{margin:0 0 7px;font-size:20px}.data-summary{grid-column:1 / -1;background:linear-gradient(120deg,#fff,#effff9)}.data-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.data-numbers>div{display:flex;flex-direction:column;gap:4px}.data-numbers strong{font-size:30px}.data-numbers span{color:#8a9693;font-size:12px}.data-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.secondary-button input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.danger-card{display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid #f4e6e3}.danger-card button{min-height:40px;padding:0 16px;border:1px solid #f1cac3;border-radius:10px;color:#b95347;background:#fff8f7;white-space:nowrap;cursor:pointer}.reset-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:18px;background:#1e2a277a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.reset-confirm-dialog{width:min(100%,410px);max-height:calc(100vh - 36px);padding:26px;overflow-y:auto;border:1px solid #f0dedb;border-radius:22px;outline:0;background:#fff;box-shadow:0 28px 70px #3a241f3d}.reset-confirm-icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:14px;border:7px solid #fff0ed;border-radius:50%;color:#c65347;background:#ffe3de;font-size:22px;font-weight:800}.reset-confirm-kicker{color:#bd6258;font-size:10px;font-weight:800;letter-spacing:.16em}.reset-confirm-dialog h2{margin:6px 0 8px;color:#3d312e;font-size:24px}.reset-confirm-dialog>p{margin:0;color:#817572;font-size:13px;line-height:1.75}.reset-confirm-impact{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.reset-confirm-impact div{display:flex;flex-direction:column;gap:4px;padding:13px 8px;border:1px solid #f1e6e3;border-radius:12px;text-align:center;background:snow}.reset-confirm-impact strong{color:#574642;font-size:20px}.reset-confirm-impact span{color:#978985;font-size:10px}.reset-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reset-confirm-actions button{min-height:46px;padding:0 14px;border-radius:12px;font:inherit;font-weight:700;cursor:pointer}.reset-confirm-cancel{border:1px solid #dfe7e4;color:#63716d;background:#fff}.reset-confirm-next{border:1px solid #eccac4;color:#b85247;background:#fff5f3}.reset-confirm-danger{border:1px solid #b94338;color:#fff;background:linear-gradient(135deg,#cc5a4d,#b63f35);box-shadow:0 10px 22px #b7413638}.reset-confirm-dialog.final-step{border-color:#e8c7c1}.app-footer{position:relative;z-index:10}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);min-height:86px;padding:8px 26px max(8px,env(safe-area-inset-bottom));border-top:1px solid #edf1ef;background:#fffffff7;box-shadow:0 -7px 22px #2d413c0f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;color:#8f9b98;background:transparent;cursor:pointer}.bottom-nav button.active{color:#14a780}.bottom-nav img{width:28px;height:28px;opacity:.56;filter:grayscale(1) saturate(0);object-fit:contain;transition:filter .16s ease,opacity .16s ease}.bottom-nav button.active img{opacity:1;filter:brightness(0) saturate(100%) invert(54%) sepia(47%) saturate(862%) hue-rotate(112deg) brightness(88%) contrast(91%)}.bottom-nav .training-nav img{transform:scale(1.6)}.bottom-nav span{font-size:11px}.toast{position:absolute;right:50%;bottom:106px;z-index:20;max-width:calc(100% - 40px);padding:12px 18px;border-radius:12px;color:#fff;background:#23312deb;box-shadow:var(--shadow);transform:translate(50%);font-size:13px}.loading-screen{display:grid;place-items:center;align-content:center;min-height:100vh;gap:20px;color:#74817e;background:#fff}.loading-brand{color:#179e7a;font-size:30px;font-weight:750;letter-spacing:.1em}.loading-screen h1,.loading-screen p{margin:0}@media(max-width:720px){.app-shell{width:100%;box-shadow:none}.screen,.nav-screen{padding-bottom:34px}.home-hero{min-height:218px;padding:14px 14px 18px}.greeting-row{align-items:flex-start;margin-top:22px}.greeting-row h1{font-size:15px;letter-spacing:0}.eyebrow{font-size:12px}.today-badge{top:80px;left:14px;max-width:180px;padding:4px 9px;white-space:nowrap;font-size:10px}.stats-grid{margin-top:57px}.stats-grid strong{font-size:27px}.stats-grid span{font-size:10px}.feature-grid{gap:12px;padding:14px 14px 24px}.feature-grid button{gap:8px;width:100%;min-height:96px;border-radius:11px}.feature-grid img{width:46px;height:46px}.feature-grid span{font-size:13px}.home-section{padding:6px 16px 48px}.section-heading h2{font-size:20px}.recent-grid{grid-template-columns:1fr}.recent-card:nth-child(n+3){display:none}.start-card{align-items:flex-start;flex-direction:column;padding:22px}.start-card .primary-button{width:100%}.screen-header{grid-template-columns:76px 1fr 76px;min-height:60px;padding:0 8px}.screen-header-copy h1{font-size:18px}.screen-header-copy p{font-size:9px}.screen-header-brand{width:100%}.screen-header-brand img{width:168px}.text-toggle{padding:0;font-size:11px}.course-list,.word-list,.history-list,.data-layout{padding:12px 10px 38px}.course-card{padding:20px 16px 16px}.course-card h2{font-size:17px}.course-meta{font-size:12px}.word-toolbar{grid-template-columns:1fr;gap:10px;padding:14px 10px 0}.segmented-control{width:100%}.segmented-control button{flex:1}.word-card{grid-template-columns:30px 1fr;gap:8px;padding:18px 14px}.word-card h2{font-size:24px}.training-setup-layout{grid-template-columns:1fr;width:calc(100% - 20px);padding:12px 0 32px}.training-setup-panel,.training-setup-summary{border-radius:16px}.training-setup-panel{padding:20px 16px}.training-setup-field{margin-top:22px}.training-setup-field legend{display:grid;gap:3px}.training-library-select{grid-template-columns:52px minmax(0,1fr);padding:0 10px}.training-library-select .course-selector-trigger{padding-inline:6px}.course-selector-trigger strong{font-size:11px}.course-selector-overlay{place-items:end center;padding:0}.course-selector-sheet{width:100%;max-height:82vh;padding:20px 14px max(16px,env(safe-area-inset-bottom));border-radius:22px 22px 0 0;animation:course-selector-sheet-in .19s ease-out}.course-selector-sheet h2{font-size:19px}.course-selector-options{max-height:calc(82vh - 92px)}.course-selector-options>button{min-height:50px;padding:8px 10px}.training-size-options{gap:5px}.training-size-options button{min-height:48px;padding:0}.training-size-options button strong{font-size:18px}.training-custom-size{flex-basis:126px}.training-mode-options{gap:6px}.training-mode-options button{flex-basis:132px;gap:7px;padding:8px 9px}.training-mode-options em{font-size:9px}.training-setup-summary{position:static;padding:22px 20px}.training-ready-count strong{font-size:48px}.training-progress-row{padding:0 18px}.training-screen{padding-bottom:calc(132px + env(safe-area-inset-bottom))}.training-stage{margin-top:28px}.training-stage h1{font-size:48px}.training-phonetic{margin-bottom:25px}.answer-grid{grid-template-columns:1fr;gap:10px}.answer-grid button{min-height:54px}.answer-feedback{scroll-margin-bottom:calc(92px + env(safe-area-inset-bottom))}.training-next{right:16px;bottom:18px;left:16px;width:calc(100% - 32px)}.simple-title{padding:28px 18px 16px}.simple-title h1{font-size:26px}.history-card{grid-template-columns:62px 1fr;gap:12px;padding:18px 14px}.session-detail-layout{padding:14px 10px 36px}.session-detail-summary{padding:24px 20px}.session-detail-summary h2{font-size:21px}.session-detail-score strong{font-size:40px}.session-detail-metrics{grid-template-columns:repeat(2,1fr)}.session-detail-metrics div:nth-child(2){border-right:0}.session-detail-metrics div:nth-child(-n+2){border-bottom:1px solid #edf2f0}.session-answer-list{grid-template-columns:1fr}.history-score strong{font-size:25px}.review-hero-card{grid-template-columns:92px 1fr;gap:18px;margin:6px 14px 24px;padding:22px 18px}.review-ring{width:88px;height:88px;border-width:9px}.review-ring strong{font-size:25px}.review-ring span{font-size:9px}.review-hero-card h2{font-size:18px}.review-hero-card .primary-button{grid-column:1 / -1;width:100%}.review-hero-kicker-row{gap:7px}.review-help-entry{min-height:23px;padding-right:7px;font-size:9px}.review-help-overlay{padding:10px}.review-help-dialog{max-height:calc(100vh - 20px);padding:20px 16px 16px;border-radius:18px}.review-help-header{gap:10px}.review-help-header h2{font-size:19px}.review-help-header p{font-size:11px}.review-help-steps{margin:18px 0 14px}.review-help-steps article{padding:9px 10px}.review-help-levels{padding:12px 10px}.review-memory-scale{gap:4px}.review-memory-scale article{padding-inline:2px}.review-help-footer{align-items:stretch;flex-direction:column;gap:10px}.review-help-footer .primary-button{width:100%}.review-config-card{grid-template-columns:1fr;gap:10px;margin:0 14px 20px;padding:12px;border-radius:16px}.review-config-card.has-core-filter{grid-template-areas:"library" "duplicates" "size"}.core-duplicate-setting{gap:9px;padding:10px}.core-duplicate-setting strong{font-size:11px}.core-duplicate-setting>div>span{font-size:9px}.review-library-select{grid-template-columns:92px minmax(0,1fr);min-height:56px;padding:0 9px}.review-library-select>span>em,.review-library-select .course-selector-trigger em,.review-size-heading span{display:none}.review-library-select .course-selector-trigger{padding-inline:7px}.review-size-field{grid-template-columns:78px minmax(0,1fr);min-height:56px;padding:6px 8px 6px 10px}.review-size-options{min-width:0}.review-size-options>button{flex:1 1 0;min-width:0}.review-size-options>button{padding:0 7px}.review-custom-size{flex:0 0 128px;min-width:128px;padding-inline:5px}.review-preview{margin:0 14px}.review-word-grid{grid-template-columns:repeat(2,1fr)}.data-layout{grid-template-columns:1fr}.data-summary{grid-column:auto}.data-card{padding:20px}.data-numbers strong{font-size:25px}.bottom-nav{padding-inline:6px}.bottom-nav span{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
