:root{color:#0f172a;background:#d6ecff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#d6ecff}.device-root{min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}.auth-screen,.app-shell,.main-menu-shell{min-height:100vh;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.auth-screen{display:grid;place-items:center}.main-menu-shell{background:#d6ecff}.auth-panel,.tool-panel{background:#fff;border:1px solid #c9deef;border-radius:8px;box-shadow:0 18px 50px #0f172a14}.auth-panel{width:min(100%,420px);padding:24px}.auth-recovery-heading{align-items:flex-start;display:flex;gap:12px;margin:22px 0}.auth-recovery-heading h2,.auth-recovery-heading p{margin:0}.auth-recovery-heading p{margin-top:5px}.auth-recovery-link{justify-self:center}.text-button{background:transparent;border:0;color:#174a75;font:inherit;font-weight:700;padding:8px;text-decoration:underline;text-underline-offset:3px}.success-message{color:#166534;line-height:1.5;margin:0}.brand-mark{align-items:center;background:#174a75;border-radius:8px;color:#fff;display:inline-flex;height:48px;justify-content:center;width:48px}.main-menu-title{text-align:center}.main-menu-title h1{font-family:Arial,ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:700;margin:18px 0 10px}h1,h2,p{margin:0}h1{font-size:28px;line-height:1.15;margin-top:14px}h2{font-size:18px}.subtle,.empty,.status-line,.word-row span,.stats-grid p{color:#64748b}.segmented{background:#eaf4ff;border-radius:8px;display:grid;gap:4px;grid-template-columns:1fr 1fr;margin:22px 0;padding:4px}.segmented button,.icon-button{border:0;border-radius:7px;background:transparent}.segmented button{color:#355e7d;padding:10px 12px}.segmented button.active{background:#fff;color:#174a75;box-shadow:0 1px 8px #0f172a14}.stack,.tool-panel{display:grid;gap:14px}label{color:#334155;display:grid;font-size:14px;font-weight:650;gap:7px}input,textarea,select{border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;padding:12px 13px;width:100%}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:#2e74b5;outline:3px solid rgb(46 116 181 / .18)}.primary{align-items:center;background:#174a75;border:0;border-radius:8px;color:#fff;font-weight:750;min-height:46px;padding:12px 16px}.primary:disabled{cursor:wait;opacity:.7}.secondary-action{align-items:center;background:#e7f2fc;border:1px solid #8cb9dc;border-radius:8px;color:#174a75;display:inline-flex;font-weight:750;gap:8px;justify-content:center;min-height:46px;padding:11px 15px}.secondary-action:disabled{cursor:wait;opacity:.65}.error{background:#fee2e2;border-radius:8px;color:#991b1b;padding:10px 12px}.app-shell{margin:0 auto;max-width:1040px}.narrow-shell{max-width:520px}.top-bar{align-items:center;display:flex;justify-content:space-between;gap:16px;margin-bottom:18px}.top-actions{display:flex;flex:0 0 auto;gap:10px}.main-menu-grid{align-content:center;display:grid;gap:20px 48px;grid-template-columns:repeat(2,104px);justify-content:center;margin:28px auto 18px}.menu-button{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:8px;color:#172735;display:grid;gap:8px;justify-items:center;min-height:116px;padding:3px;text-align:center}.menu-button:focus-visible{outline:3px solid rgb(46 116 181 / .3);outline-offset:4px}.menu-button img{display:block;height:92px;width:92px}.menu-button>span:last-child{font-size:12px;font-weight:650;line-height:1.2;min-height:30px}.menu-status{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,140px));justify-content:center;margin:16px auto 0}.menu-status div{background:#ffffff9e;border:1px solid rgb(15 23 42 / .08);border-radius:8px;padding:10px 12px;text-align:center}.menu-status span{color:#174a75;display:block;font-size:22px;font-weight:850}.menu-status p{color:#355e7d;font-size:12px}.build-language-invite{align-items:center;background:linear-gradient(135deg,#e8f6fff5,#f1eafef5);border:1px solid #a9cce8;border-radius:14px;box-shadow:0 14px 34px #174a751a;display:grid;gap:16px;grid-template-columns:auto minmax(0,1fr) auto;margin:18px auto 0;max-width:760px;padding:18px}.build-language-invite>span,.build-language-icon{align-items:center;background:#174a75;border-radius:50%;color:#fff;display:inline-flex;flex:0 0 auto;height:52px;justify-content:center;width:52px}.build-language-invite h2{color:#163f63;font-size:18px;line-height:1.25;margin:2px 0 5px}.build-language-invite p:not(.eyebrow){color:#355e7d;line-height:1.45}.build-language-invite small{color:#58738b;display:block;line-height:1.35;margin-top:5px}.build-language{display:grid;gap:18px;margin:0 auto;max-width:860px}.build-language-hero{align-items:start;display:flex;gap:16px}.build-language-hero h2{color:#163f63;margin:2px 0 8px}.build-language-hero p:not(.eyebrow){color:#475569;line-height:1.5}.build-language-privacy{background:#f3f8fc;border:1px solid #c7ddea;border-radius:10px;color:#355e7d;display:grid;gap:4px;line-height:1.45;padding:14px}.build-language-start{justify-self:start}.personalized-chunk-list{display:grid;gap:12px}.personalized-chunk-card{align-items:start;background:#fff;border:1px solid #c9deef;border-radius:12px;display:grid;gap:12px;grid-template-columns:22px minmax(0,1fr);padding:15px}.personalized-chunk-card>input{height:20px;margin:2px 0 0;padding:0;width:20px}.personalized-chunk-card>span{display:grid;gap:7px}.personalized-chunk-card small,.personalized-chunk-card p,.personalized-chunk-card blockquote{color:#526b7e;line-height:1.4}.personalized-chunk-card blockquote{border-left:3px solid #8cb9dc;font-style:italic;margin:2px 0 0;padding-left:10px}.personalized-chunk-heading{align-items:start;display:flex;gap:12px;justify-content:space-between}.personalized-chunk-heading strong{color:#173d5c;font-size:17px}.personalized-chunk-heading small{background:#e8f4fd;border-radius:999px;color:#174a75;flex:0 0 auto;font-weight:750;padding:4px 8px}.known-word-chips{display:flex;flex-wrap:wrap;gap:6px}.known-word-chips em{background:#eef6fc;border:1px solid #c7ddea;border-radius:999px;color:#355e7d;font-size:12px;font-style:normal;padding:4px 8px}.known-word-chips em.mastered{background:#ecfdf5;border-color:#a7f3d0;color:#166534}.practice-reminder-backdrop{align-items:center;background:#0f172a94;display:grid;top:0;right:0;bottom:0;left:0;justify-items:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));position:fixed;z-index:1000}.practice-reminder-dialog{background:#fff;border:1px solid #8cb9dc;border-radius:12px;box-shadow:0 26px 70px #0f172a47;display:grid;gap:16px;max-width:460px;padding:26px;text-align:center;width:100%}.practice-reminder-dialog p{color:#475569;line-height:1.5}.related-words-backdrop{align-items:center;background:#0f172a94;display:grid;top:0;right:0;bottom:0;left:0;justify-items:center;overflow:auto;padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));position:fixed;z-index:1100}.related-words-dialog{background:#fff;border:1px solid #8cb9dc;border-radius:12px;box-shadow:0 26px 70px #0f172a47;display:grid;gap:14px;max-width:620px;padding:22px;width:100%}.related-words-source{color:#174a75;font-size:13px;font-weight:750}.related-words-list{display:grid;gap:8px}.related-word-option{align-items:start;background:#f7fbff;border:1px solid #c8ddec;border-radius:9px;cursor:pointer;display:grid;gap:10px;grid-template-columns:auto 1fr auto;padding:11px 12px}.related-word-option input{accent-color:#174a75;height:20px;margin:1px 0 0;width:20px}.related-word-option span,.related-word-option small{display:block}.related-word-option strong{text-transform:capitalize}.related-word-option small{color:#40566a;line-height:1.35;margin-top:3px}.related-word-option em{color:#52738d;font-size:11px;font-style:normal;font-weight:750}.useful-chunks-dialog{max-height:min(860px,calc(100vh - 40px));max-width:760px;overflow-y:auto}.useful-chunks-list{display:grid;gap:10px}.useful-chunk-option{align-items:start;background:#f7fbff;border:1px solid #c8ddec;border-radius:10px;cursor:pointer;display:grid;gap:11px;grid-template-columns:auto minmax(0,1fr);padding:12px}.useful-chunk-option input{accent-color:#174a75;height:20px;margin:2px 0 0;width:20px}.useful-chunk-option span,.useful-chunk-option small,.useful-chunk-option em{display:block}.useful-chunk-option small{color:#40566a;line-height:1.4;margin-top:4px}.useful-chunk-option .useful-chunk-meta{color:#174a75;font-size:12px;font-weight:750;text-transform:capitalize}.useful-chunk-option em{color:#52738d;font-size:13px;line-height:1.4;margin-top:6px}.related-word-action{align-items:center;display:inline-flex;gap:6px;justify-self:start}.practice-snooze-option{align-items:center;background:#f3f7fa;border:1px solid #c8d8e5;border-radius:9px;cursor:pointer;display:flex;gap:10px;justify-self:stretch;padding:12px 14px;text-align:left}.practice-snooze-option input{accent-color:#174a75;height:20px;margin:0;width:20px}.practice-snooze-option span{color:#243f55;font-weight:700}.privacy-consent{align-items:flex-start;display:flex;gap:10px}.privacy-consent input{accent-color:#174a75;flex:0 0 auto;height:20px;margin-top:1px;width:20px}.privacy-notice{border-top:1px solid #d7e2ea;color:#40566a;font-size:13px;margin-top:18px;padding-top:12px;text-align:left}.privacy-notice summary{color:#174a75;cursor:pointer;font-weight:750}.privacy-notice div{max-height:240px;overflow:auto;padding-right:6px}.privacy-notice p{line-height:1.45}.practice-reminder-icon{align-items:center;background:#e7f2fc;border-radius:50%;color:#174a75;display:inline-flex;height:58px;justify-content:center;justify-self:center;width:58px}.tool-header{align-items:center;display:grid;gap:12px;grid-template-columns:58px minmax(0,1fr) 58px;margin:6px 0 18px}.tool-header h1{font-family:Arial,ui-sans-serif,system-ui,sans-serif;font-size:20px;justify-self:center;margin:0;text-align:center}.back-icon-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:8px;padding:0}.back-icon-button img{display:block;height:54px;width:54px}.eyebrow{color:#174a75;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.icon-button{align-items:center;background:#e7f2fc;color:#174a75;display:inline-flex;height:42px;justify-content:center;width:42px}.stats-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:18px}.stats-grid div{background:#fff;border:1px solid #c9deef;border-radius:8px;padding:16px}.stats-grid span{color:#174a75;display:block;font-size:28px;font-weight:850}.dashboard-grid{display:grid;gap:16px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.tool-panel{align-content:start;padding:18px}.practice-panel,.tool-panel:last-child{grid-column:span 1}.panel-title,.panel-title span{align-items:center;color:#0f172a;display:flex;gap:9px}.panel-title.spaced{justify-content:space-between}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.word-bank-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.word-bank-filter{display:block}.word-bank-filter select{min-width:142px;padding:8px 34px 8px 10px}.word-list{display:grid;gap:10px}.word-bank-tabs{border-bottom:1px solid #c9deef;display:flex;gap:4px;margin:8px 0 16px}.word-bank-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;color:#526b80;min-height:42px;padding:8px 18px}.word-bank-tabs button.active{border-bottom-color:#2e74b5;color:#174a75}.chunk-bank,.chunk-list,.chunk-card,.chunk-add-form{display:grid}.chunk-bank,.chunk-list{gap:12px}.chunk-add-form{align-items:end;background:#f7fbff;border:1px solid #c9deef;border-radius:10px;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:14px}.chunk-add-form label{gap:5px}.chunk-add-form .subtle{font-size:12px;font-weight:400;margin:0}.chunk-add-form button{white-space:nowrap}.chunk-search input{width:100%}.chunk-card{border:1px solid #e2e8f0;border-radius:10px;gap:7px;padding:14px}.chunk-card p{margin:0}.chunk-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:space-between}.chunk-heading strong{color:#0f172a;font-size:18px}.chunk-title{display:grid;gap:3px}.audio-loading{line-height:1}.chunk-heading span,.chunk-linked-words{color:#526b80;font-size:12px}.chunk-meaning{color:#172735;font-weight:700}.chunk-examples{color:#334155;display:grid;gap:4px;margin:2px 0 0;padding-left:22px}.chunk-status{align-items:center;background:#fff7ed;border-radius:8px;color:#9a3412;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:9px}.chunk-status .text-action{margin:0}.device-phone .chunk-add-form{grid-template-columns:1fr}.device-phone .chunk-add-form button{width:100%}.word-row{border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:5px;padding:12px}.word-heading-main strong{text-transform:capitalize}.word-meanings .primary-meaning{font-weight:800}.prompt{background:#eff7ff;border:1px solid #b9d9f2;border-radius:8px;font-weight:700;padding:14px}.word-row.excluded-from-training{background:#f8fafc;border-color:#cbd5e1}.scan-panel{margin:0 auto;max-width:760px}.device-desktop .app-shell{max-width:1180px}.device-desktop .auth-panel{padding:30px;width:min(100%,460px)}.device-desktop .main-menu-grid{gap:26px 54px;grid-template-columns:repeat(4,112px);margin-top:42px}.device-desktop .main-menu-title h1{font-size:20px}.device-desktop .menu-button{min-height:132px}.device-desktop .menu-button img,.device-desktop .menu-button-vector-icon{height:100px;width:100px}.device-desktop .scan-panel{max-width:900px}.device-tablet .app-shell{max-width:920px}.device-tablet .auth-panel{padding:28px;width:min(100%,480px)}.device-tablet .main-menu-grid{gap:24px 54px;grid-template-columns:repeat(3,108px);margin-top:36px}.device-tablet.orientation-landscape .main-menu-grid{grid-template-columns:repeat(4,108px)}.device-phone .app-shell{max-width:560px}.device-phone .main-menu-grid{gap:16px 34px;grid-template-columns:repeat(2,100px)}.device-phone.orientation-landscape .main-menu-grid{grid-template-columns:repeat(3,100px)}.device-phone .scan-actions,.device-phone .button-row{grid-template-columns:1fr}.device-root[data-input=touch] button,.device-root[data-input=touch] .file-action{min-height:44px;touch-action:manipulation}.scan-actions,.button-row{display:grid;gap:10px}.scan-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.button-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.word-bank-toggle{justify-self:stretch;width:100%}.trainer-mode-switch{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.trainer-mode-switch button{width:100%}.trainer-content-picker{background:#f8fbff;border:1px solid #cfe0ef;border-radius:12px;display:grid;gap:10px;margin-bottom:14px;padding:14px}.trainer-content-picker>p{color:#17324d;font-weight:800;margin:0}.trainer-content-switch{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.trainer-content-switch button{background:#fff;border:1px solid #aac7dd;border-radius:8px;color:#174a75;font-weight:800;padding:10px}.trainer-content-switch button.active{background:#1769aa;border-color:#1769aa;color:#fff}.training-item-meta{align-items:center;color:#52677b;display:flex;flex-wrap:wrap;font-size:13px;gap:9px}.training-instruction{color:#17324d;font-weight:800;margin:0}.file-action{align-items:center;cursor:pointer;display:flex;font-size:15px;gap:9px;justify-content:center;text-align:center}.file-action input{height:1px;opacity:0;overflow:hidden;padding:0;pointer-events:none;position:absolute;width:1px}.divider{align-items:center;color:#64748b;display:flex;font-size:12px;gap:10px;text-transform:uppercase}.divider:before,.divider:after{background:#c9deef;content:"";flex:1;height:1px}.scan-progress{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;padding:11px 12px}.scan-preview{background:#f8fafc;border:1px solid #c9deef;border-radius:8px;display:block;max-height:300px;object-fit:contain;width:100%}.selectable-text{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;font-family:Georgia,Times New Roman,serif;font-size:18px;line-height:1.9;max-height:52vh;overflow-y:auto;padding:16px;white-space:pre-wrap}.text-word{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:4px;color:inherit;display:inline;font:inherit;line-height:inherit;margin:0;padding:1px 2px;text-decoration:underline;text-decoration-color:#2e74b559;text-underline-offset:3px}.text-word.selected{background:#bfe0fa;color:#0f4c78;text-decoration:none}.text-word.saved{background:#dcfce7;color:#166534;cursor:default;opacity:.82;text-decoration:none}.selection-summary,.save-result{border-radius:8px;display:grid;gap:5px;padding:12px}.selection-summary{background:#eff7ff;border:1px solid #b9d9f2}.selection-summary span{color:#355e7d;overflow-wrap:anywhere}.save-result{background:#ecfdf5;border:1px solid #a7f3d0;color:#14532d}.save-result p{line-height:1.45}.word-row-heading{align-items:start;display:flex;gap:12px;justify-content:space-between}.word-heading-main{align-items:start;display:flex;gap:10px;min-width:0}.word-heading-main>span{display:grid;gap:3px}.training-inclusion-control{display:block;flex:0 0 auto;position:relative}.training-inclusion-control input{accent-color:#174a75;cursor:pointer;height:20px;margin:1px 0 0;padding:0;width:20px}.training-tooltip{background:#0f172a;border-radius:7px;color:#fff!important;font-size:12px;font-weight:500;left:0;line-height:1.4;opacity:0;padding:8px 10px;pointer-events:none;position:absolute;top:28px;transform:translateY(-3px);transition:opacity .12s ease,transform .12s ease;visibility:hidden;width:min(280px,70vw);z-index:10}.training-inclusion-control:hover .training-tooltip,.training-inclusion-control:focus-within .training-tooltip{opacity:1;transform:translateY(0);visibility:visible}.word-row-heading small,.pronunciation-row small{color:#58738b;font-size:12px;font-style:normal}.word-row em{color:#475569;font-size:13px}.audio-button,.text-action,.archive-button{align-items:center;background:transparent;border:0;color:#174a75;display:inline-flex;font-weight:750;gap:6px}.audio-button{background:#e7f2fc;border-radius:50%;flex:0 0 auto;height:38px;justify-content:center;width:38px}.text-action{justify-self:start;padding:4px 0;text-decoration:underline;text-underline-offset:3px}.check-list,.grammar-point-list,.pronunciation-list{display:grid;gap:9px}.check-row{align-items:start;background:#f7fbff;border:1px solid #c9deef;border-radius:8px;display:grid;font-weight:600;gap:10px;grid-template-columns:22px 1fr;padding:12px}.check-row input{height:20px;margin:0;padding:0;width:20px}.check-row small{color:#526b7e;display:block;font-size:12px;font-weight:500;line-height:1.35;margin-top:3px}.grammar-home,.grammar-practice,.grammar-setup,.grammar-result,.grammar-selection,.pronunciation-tool{margin:0 auto;max-width:820px}.grammar-selection-toolbar{align-items:center;background:#eff7ff;border:1px solid #b9d9f2;border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.grammar-selection-toolbar .button-row{grid-template-columns:repeat(2,minmax(140px,1fr))}.grammar-selection-toolbar>strong{color:#174a75;white-space:nowrap}.grammar-roadmap{display:grid;gap:10px}.grammar-level{background:#f7fbff;border:1px solid #c9deef;border-radius:8px;overflow:hidden}.grammar-level>summary{align-items:center;cursor:pointer;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;list-style-position:inside;padding:12px}.grammar-level>summary small{color:#526b80;display:block;font-weight:400;line-height:1.35;margin-top:3px}.level-badge{align-items:center;background:#174a75;border-radius:999px;color:#fff;display:inline-flex;font-weight:800;height:38px;justify-content:center;width:38px}.level-selection-count{color:#174a75;font-weight:800}.grammar-topic-list{background:#fff;border-top:1px solid #c9deef;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.grammar-roadmap-topic{align-items:flex-start;border-bottom:1px solid #e2edf5;cursor:pointer;display:grid;gap:9px;grid-template-columns:22px minmax(0,1fr);line-height:1.35;padding:11px 12px}.grammar-roadmap-topic:nth-child(odd){border-right:1px solid #e2edf5}.grammar-roadmap-topic input{accent-color:#174a75;height:20px;margin:0;width:20px}.grammar-point{align-items:center;background:#f7fbff;border:1px solid #c9deef;border-radius:8px;display:flex;gap:14px;justify-content:space-between;padding:12px}.grammar-point.archived{background:#f1f5f9;color:#64748b}.archive-button{flex:0 0 auto;font-size:12px}.exercise-progress{display:grid;gap:7px}.exercise-progress span{color:#174a75;font-size:13px;font-weight:800}progress{accent-color:#2e74b5;height:10px;width:100%}.topic-chip{background:#dcecf9;border-radius:999px;color:#174a75;font-size:12px;font-weight:800;justify-self:start;padding:7px 11px}.back-link,.exercise-meta{align-items:center;display:flex;gap:9px}.back-link{width:fit-content}.exercise-meta{flex-wrap:wrap;justify-content:space-between}.exercise-type-chip{background:#eef2ff;border-radius:999px;color:#3730a3;font-size:12px;font-weight:800;margin:0;padding:7px 11px}.training-mode-choice,.exercise-count-choice,.answer-options{border:0;display:grid;gap:10px;margin:0;padding:0}.training-mode-choice legend,.exercise-count-choice legend,.answer-options legend{color:#172735;font-weight:800;margin-bottom:8px}.training-mode-choice{grid-template-columns:repeat(2,minmax(0,1fr))}.training-mode-choice legend{grid-column:1 / -1}.training-mode-choice label,.explanation-choice,.answer-options label{align-items:center;background:#f7fbff;border:1px solid #c9deef;border-radius:8px;cursor:pointer;display:grid;gap:10px;grid-template-columns:22px minmax(0,1fr);padding:12px}.training-mode-choice input,.exercise-type-card input,.exercise-count-choice input,.explanation-choice input,.answer-options input{accent-color:#174a75;height:20px;margin:0;padding:0;width:20px}.exercise-type-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-type-card{align-items:start;background:#fff;border:1px solid #c9deef;border-radius:8px;cursor:pointer;display:grid;gap:10px;grid-template-columns:22px minmax(0,1fr);padding:13px}.exercise-type-card.selected{background:#eff7ff;border-color:#2e74b5;box-shadow:0 0 0 2px #2e74b51f}.exercise-type-card small,.explanation-choice small{color:#526b80;display:block;font-weight:400;line-height:1.35;margin-top:3px}.compact-actions{grid-template-columns:repeat(2,minmax(140px,220px))}.exercise-count-choice>div{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(70px,1fr))}.exercise-count-choice label{background:#fff;border:1px solid #c9deef;border-radius:8px;cursor:pointer;display:block;padding:11px;text-align:center}.exercise-count-choice label.selected{background:#174a75;border-color:#174a75;color:#fff}.exercise-count-choice input{opacity:0;pointer-events:none;position:absolute}.answer-options label{background:#fff}.grammar-result-hero{justify-content:space-between}.grammar-result-hero span{font-size:28px;font-weight:850}.grammar-review-list{display:grid;gap:12px}.grammar-review-card{background:#fffaf5;border:1px solid #fed7aa;border-radius:10px;display:grid;gap:10px;padding:15px}.grammar-review-card>div:first-child{color:#7c2d12;display:flex;font-size:12px;font-weight:800;justify-content:space-between}.grammar-review-card h4,.grammar-review-card p{margin:0}.grammar-review-card dl{display:grid;gap:8px;margin:0}.grammar-review-card dl div{background:#fff;border-radius:7px;display:grid;gap:3px;padding:10px}.grammar-review-card dt{color:#64748b;font-size:12px;font-weight:800}.grammar-review-card dd{color:#172735;margin:0}.review-explanation{background:#eff7ff;border-left:4px solid #2e74b5;padding:10px 12px}.feedback,.result-hero{border-radius:8px;padding:12px}.feedback.success,.result-hero{background:#ecfdf5;border:1px solid #a7f3d0;color:#14532d}.feedback.warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.result-hero{align-items:center;display:flex;font-size:18px;gap:10px}.sort-control{margin:0;max-width:360px}.sort-control button{align-items:center;display:inline-flex;gap:7px;justify-content:center}.pronunciation-row{align-items:center;background:#f7fbff;border:1px solid #c9deef;border-radius:8px;color:#172735;display:flex;justify-content:space-between;min-height:58px;padding:11px 13px;text-align:left}.pronunciation-word{display:grid;gap:3px}.audio-ready{color:#174a75}.audio-missing{color:#94a3b8}.recording-ready{color:#23704a!important}.recording-missing{color:#64748b!important}.pronunciation-actions{align-items:center;display:flex;flex:0 0 auto;gap:8px}.pronunciation-play-button:disabled{cursor:not-allowed;opacity:.5}.record-button,.compare-button{align-items:center;border-radius:8px;display:inline-flex;font-weight:750;gap:7px;justify-content:center;min-height:40px;padding:8px 11px}.record-button{background:#fff3f3;border:1px solid #e7a5a5;color:#8b1e2d}.record-button.recording{background:#8b1e2d;color:#fff}.compare-button{background:#e7f2fc;border:1px solid #9ec9e8;color:#174a75}.record-button:disabled,.compare-button:disabled{cursor:not-allowed;opacity:.5}.admin-layout{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-users,.admin-message{grid-column:1 / -1}.admin-report-summary{align-items:center;background:#eff7ff;border:1px solid #b9d9f2;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:12px}.admin-message{align-items:center;background:#fff;border:1px solid #c9deef;border-radius:8px;display:flex;gap:8px;padding:12px}.user-table-wrap{overflow-x:auto}.user-table-wrap table{border-collapse:collapse;min-width:680px;width:100%}.user-table-wrap th,.user-table-wrap td{border-bottom:1px solid #d6e4ef;padding:9px;text-align:left}.user-table-wrap th{background:#e8eef5;color:#174a75}@media(max-width:760px){.dashboard-grid{grid-template-columns:1fr}.top-bar h1{font-size:24px}.device-root .main-menu-grid{gap:16px 34px;grid-template-columns:repeat(2,100px)}.menu-button img{height:86px;width:86px}.scan-actions,.button-row{grid-template-columns:1fr}.selectable-text{font-size:17px;max-height:48vh}.admin-layout{grid-template-columns:1fr}.grammar-point,.admin-report-summary{align-items:stretch;flex-direction:column}.grammar-selection-toolbar{align-items:stretch;grid-template-columns:1fr}.grammar-selection-toolbar .button-row,.grammar-topic-list,.exercise-type-grid,.training-mode-choice{grid-template-columns:1fr}.exercise-count-choice>div{grid-template-columns:repeat(2,minmax(70px,1fr))}.grammar-roadmap-topic:nth-child(odd){border-right:0}.pronunciation-row{align-items:stretch;flex-direction:column}.pronunciation-actions{display:grid;grid-template-columns:38px repeat(2,minmax(0,1fr))}}.pattern-sentence-tool{display:grid;gap:18px}.pattern-sentence-tabs{justify-self:start}.pattern-sentence-card,.pattern-sentence-library{background:#ffffffb8;border:1px solid #d9e4ee;border-radius:18px;padding:20px}.pattern-sentence-card form,.pattern-upload-form{display:grid;gap:10px}.pattern-sentence-card form>button,.pattern-upload-form>button{justify-self:start;margin-top:6px}.pattern-sentence-heading{align-items:flex-start;display:flex;gap:10px;margin-bottom:14px}.pattern-sentence-heading h2,.pattern-sentence-heading p,.pattern-sentence-library h2,.pattern-sentence-row p{margin:0}.pattern-sentence-heading p{color:#526579;margin-top:4px}.pattern-sentence-row{align-items:flex-start;border-top:1px solid #d9e4ee;display:flex;gap:16px;justify-content:space-between;padding:16px 0}.pattern-sentence-row:first-of-type{margin-top:8px}.pattern-sentence-actions{align-items:center;display:flex;flex:0 0 auto;gap:8px}.pattern-audio-button{min-height:40px;padding:8px 12px}.pattern-gap-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.pattern-pronunciation{color:#526579;font-family:Noto Sans,Segoe UI,sans-serif;font-size:.95rem;line-height:1.55;margin:.35rem 0 .65rem}.practice-email-toggle{align-items:center;display:flex;flex-direction:row;gap:.7rem}.practice-email-toggle input{height:1.15rem;margin:0;width:1.15rem}.pattern-gap-chips span{background:#e8f2fb;border-radius:999px;color:#24557d;font-size:.82rem;padding:4px 9px}.pattern-practice-card{display:grid;gap:16px}.pattern-prompt{background:#f5f9fc;border:1px solid #cfe0ed;border-radius:14px;font-size:clamp(1.15rem,2.4vw,1.55rem);font-weight:700;line-height:1.6;margin:0;padding:18px}.pattern-answer-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.pattern-answer-grid label{display:grid;gap:5px}html[data-theme=night] .pattern-sentence-card,html[data-theme=night] .pattern-sentence-library,html[data-theme=night] .pattern-prompt{background:#0d1929;border-color:#2b425d;color:var(--night-text-primary)}html[data-theme=night] .pattern-sentence-heading p,html[data-theme=night] .pattern-pronunciation{color:var(--night-text-secondary)}html[data-theme=night] .pattern-sentence-row{border-color:#2b425d}html[data-theme=night] .pattern-gap-chips span{background:#182f49;color:#9cc9f1}@media(max-width:620px){.pattern-sentence-card,.pattern-sentence-library{padding:15px}.pattern-sentence-tabs{justify-self:stretch}.pattern-sentence-tabs button{flex:1}.pattern-sentence-row{align-items:stretch;flex-direction:column}.pattern-sentence-actions{justify-content:space-between}}.theme-choice-grid{border:0;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0}.theme-choice-grid legend{color:#172735;font-size:14px;font-weight:800;grid-column:1 / -1;margin-bottom:1px}.theme-choice{align-items:center;background:#f7fbff;border:1px solid #c9deef;border-radius:10px;cursor:pointer;display:grid;gap:9px;grid-template-columns:auto minmax(0,1fr);padding:12px;position:relative}.theme-choice.selected{background:#eff7ff;border-color:#2e74b5;box-shadow:0 0 0 2px #2e74b521}.theme-choice input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.theme-choice>span:last-child{display:grid;gap:3px;min-width:0}.theme-choice small{color:#58738b;font-size:12px;font-weight:500;line-height:1.3}.theme-preview{align-items:center;border:1px solid rgb(255 255 255 / .45);border-radius:9px;display:inline-flex;height:44px;justify-content:center;width:44px}.theme-preview-default{background:linear-gradient(145deg,#d6ecff,#8cb9dc);color:#174a75}.theme-preview-night{background:linear-gradient(145deg,#16243a,#08111f);color:#9cc9f1}.theme-preview-solar{background:linear-gradient(145deg,#ffd37a 0,#ffd37a 48%,#16243a 52%,#16243a);color:#fff7ed}.theme-notice{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#9a3412;font-size:13px;line-height:1.4;padding:10px 12px}html[data-theme=night]{--night-text-primary: #eef6ff;--night-text-secondary: #b8cbe0;--night-text-muted: #9eb3c9;--night-text-accent: #9fd2ff;--night-text-success: #9de3bd;--night-text-warning: #f5c98d;--night-text-danger: #ffb4b4;background:#08111f;color:var(--night-text-primary)}html[data-theme=night] body,html[data-theme=night] .device-root,html[data-theme=night] .auth-screen,html[data-theme=night] .app-shell,html[data-theme=night] .main-menu-shell{background:radial-gradient(circle at 50% -20%,#203653 0,#0d1929 42%,#08111f);color:var(--night-text-primary)}html[data-theme=night] .auth-panel,html[data-theme=night] .tool-panel,html[data-theme=night] .practice-reminder-dialog,html[data-theme=night] .related-words-dialog,html[data-theme=night] .stats-grid div,html[data-theme=night] .menu-status div,html[data-theme=night] .build-language-invite,html[data-theme=night] .build-language,html[data-theme=night] .personalized-chunk-card,html[data-theme=night] .word-row,html[data-theme=night] .scan-preview,html[data-theme=night] .selection-summary,html[data-theme=night] .check-row,html[data-theme=night] .grammar-level,html[data-theme=night] .grammar-point,html[data-theme=night] .pronunciation-row,html[data-theme=night] .admin-users,html[data-theme=night] .admin-message,html[data-theme=night] .exercise-type-card,html[data-theme=night] .training-mode-choice label,html[data-theme=night] .explanation-choice,html[data-theme=night] .answer-options label,html[data-theme=night] .exercise-count-choice label,html[data-theme=night] .grammar-review-card dl div{background:#111d2f;border-color:#2b425d;box-shadow:0 18px 50px #00000038;color:var(--night-text-primary)}html[data-theme=night] .auth-panel,html[data-theme=night] .tool-panel{background:linear-gradient(155deg,#142238,#0f1b2d)}html[data-theme=night] h1,html[data-theme=night] h2,html[data-theme=night] h3,html[data-theme=night] h4,html[data-theme=night] label,html[data-theme=night] .main-menu-title h1,html[data-theme=night] .panel-title,html[data-theme=night] .panel-title span,html[data-theme=night] .prompt,html[data-theme=night] .word-heading-main strong,html[data-theme=night] .pronunciation-row,html[data-theme=night] .grammar-review-card dd,html[data-theme=night] .training-mode-choice legend,html[data-theme=night] .exercise-count-choice legend,html[data-theme=night] .answer-options legend,html[data-theme=night] .theme-choice-grid legend{color:var(--night-text-primary)}html[data-theme=night] .subtle,html[data-theme=night] .empty,html[data-theme=night] .status-line,html[data-theme=night] .word-row span,html[data-theme=night] .stats-grid p,html[data-theme=night] .word-row-heading small,html[data-theme=night] .pronunciation-row small,html[data-theme=night] .grammar-level>summary small,html[data-theme=night] .exercise-type-card small,html[data-theme=night] .explanation-choice small,html[data-theme=night] .theme-choice small,html[data-theme=night] .check-row small{color:var(--night-text-muted)}html[data-theme=night] .menu-button,html[data-theme=night] .panel-title,html[data-theme=night] .panel-title span,html[data-theme=night] .pronunciation-row,html[data-theme=night] .grammar-review-card dd{color:var(--night-text-primary)}html[data-theme=night] .menu-button>span:last-child{font-size:13px;text-shadow:0 1px 2px rgb(0 0 0 / .72)}html[data-theme=night] .menu-button:hover,html[data-theme=night] .menu-button:focus-visible{background:#9fd2ff14}html[data-theme=night] .practice-reminder-dialog p,html[data-theme=night] .related-word-option small,html[data-theme=night] .related-word-option em,html[data-theme=night] .useful-chunk-option small,html[data-theme=night] .useful-chunk-option em,html[data-theme=night] .practice-snooze-option span,html[data-theme=night] .word-row em,html[data-theme=night] .grammar-point.archived,html[data-theme=night] .grammar-review-card dt,html[data-theme=night] .audio-missing,html[data-theme=night] .recording-missing{color:var(--night-text-secondary)!important}html[data-theme=night] .menu-status span,html[data-theme=night] .menu-status p,html[data-theme=night] .related-words-source,html[data-theme=night] .privacy-notice summary,html[data-theme=night] .practice-reminder-icon,html[data-theme=night] .scan-progress,html[data-theme=night] .text-word.selected,html[data-theme=night] .selection-summary span,html[data-theme=night] .audio-ready,html[data-theme=night] .compare-button{color:var(--night-text-accent)}html[data-theme=night] .menu-status p{font-weight:650}html[data-theme=night] .text-word.saved,html[data-theme=night] .recording-ready{color:var(--night-text-success)!important}html[data-theme=night] .divider,html[data-theme=night] input::placeholder,html[data-theme=night] textarea::placeholder{color:var(--night-text-muted);opacity:1}html[data-theme=night] .exercise-type-chip{color:#c8c2ff}html[data-theme=night] .grammar-review-card>div:first-child,html[data-theme=night] .record-button{color:var(--night-text-danger)}html[data-theme=night] input,html[data-theme=night] textarea,html[data-theme=night] select{background:#0a1525;border-color:#38516d;color:var(--night-text-primary)}html[data-theme=night] input:focus,html[data-theme=night] textarea:focus,html[data-theme=night] select:focus{border-color:#6aa6d8;outline-color:#6aa6d840}html[data-theme=night] .segmented,html[data-theme=night] .icon-button,html[data-theme=night] .audio-button,html[data-theme=night] .compare-button,html[data-theme=night] .grammar-selection-toolbar,html[data-theme=night] .topic-chip,html[data-theme=night] .review-explanation{background:#182a42;border-color:#365473;color:#9cc9f1}html[data-theme=night] .trainer-content-picker{background:#122238;border-color:#365473}html[data-theme=night] .trainer-content-picker>p,html[data-theme=night] .training-instruction{color:var(--night-text-primary)}html[data-theme=night] .trainer-content-switch button{background:#182a42;border-color:#365473;color:#9cc9f1}html[data-theme=night] .trainer-content-switch button.active{background:#2d7fc1;color:#fff}html[data-theme=night] .segmented button,html[data-theme=night] .text-button,html[data-theme=night] .text-action,html[data-theme=night] .archive-button,html[data-theme=night] .eyebrow,html[data-theme=night] .stats-grid span,html[data-theme=night] .grammar-selection-toolbar>strong,html[data-theme=night] .level-selection-count,html[data-theme=night] .exercise-progress span{color:var(--night-text-accent)}html[data-theme=night] .success-message{color:#86efac}html[data-theme=night] .segmented button.active,html[data-theme=night] .theme-choice.selected,html[data-theme=night] .exercise-type-card.selected{background:#203653;border-color:#6aa6d8;color:var(--night-text-primary)}html[data-theme=night] .related-word-option,html[data-theme=night] .useful-chunk-option,html[data-theme=night] .build-language-privacy,html[data-theme=night] .privacy-notice,html[data-theme=night] .grammar-topic-list,html[data-theme=night] .grammar-roadmap-topic,html[data-theme=night] .selectable-text{background:#0d1929;border-color:#2b425d;color:var(--night-text-primary)}html[data-theme=night] .build-language-invite h2,html[data-theme=night] .build-language-hero h2,html[data-theme=night] .personalized-chunk-heading strong{color:var(--night-text-primary)}html[data-theme=night] .build-language-invite p:not(.eyebrow),html[data-theme=night] .build-language-invite small,html[data-theme=night] .build-language-hero p:not(.eyebrow),html[data-theme=night] .build-language-privacy,html[data-theme=night] .personalized-chunk-card small,html[data-theme=night] .personalized-chunk-card p,html[data-theme=night] .personalized-chunk-card blockquote{color:var(--night-text-secondary)}html[data-theme=night] .save-result,html[data-theme=night] .feedback.success,html[data-theme=night] .result-hero{background:#10291f;border-color:#2b6f52;color:var(--night-text-success)}html[data-theme=night] .feedback.warning,html[data-theme=night] .theme-notice,html[data-theme=night] .grammar-review-card{background:#2a2115;border-color:#6c4e29;color:var(--night-text-warning)}html[data-theme=night] .user-table-wrap th,html[data-theme=night] .user-table-wrap td{border-color:#2b425d}html[data-theme=night] .user-table-wrap th{background:#182a42;color:var(--night-text-primary)}@media(max-width:760px){.build-language-invite{grid-template-columns:auto minmax(0,1fr)}.build-language-invite>button{grid-column:1 / -1}.build-language-hero{align-items:center}.personalized-chunk-heading{display:grid}.personalized-chunk-heading small{justify-self:start}.theme-choice-grid{grid-template-columns:1fr}}
