:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;color:#19342b;background:#f7f8f3;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #19342b;--muted: #6c7c75;--green: #184f3c;--green-2: #2f725a;--mint: #e2eee6;--paper: #ffffff;--line: #dde4de;--warm: #f1ece1;--danger: #a4473f;--shadow: 0 14px 40px rgba(27, 54, 45, .08)}*{box-sizing:border-box}html{background:#f7f8f3}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh}button,input,textarea{font:inherit}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(1.9rem,7vw,2.65rem);line-height:1.1;letter-spacing:-.04em}h2{margin-bottom:0;font-size:1.3rem;letter-spacing:-.02em}h3{margin-bottom:6px}.muted{color:var(--muted);line-height:1.65}.centered{text-align:center}.eyebrow{margin-bottom:7px;color:var(--green-2);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.app-shell{min-height:100vh;min-height:100dvh;padding-bottom:calc(78px + env(safe-area-inset-bottom))}.topbar{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;height:calc(62px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(20px,calc((100vw - 760px)/2)) 0;background:#f7f8f3e6;border-bottom:1px solid rgba(221,228,222,.8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:9px}.brand-icon{display:grid;width:32px;height:32px;place-items:center;color:#fff;background:var(--green);border-radius:10px}.network-pill{display:flex;align-items:center;gap:5px;padding:7px 10px;color:var(--green-2);background:var(--mint);border-radius:99px;font-size:.72rem;font-weight:700}.network-pill.offline{color:#7a5d2e;background:#f4ead2}.page-container{width:min(100%,760px);margin:0 auto;padding:28px 20px 44px}.page-stack{display:grid;gap:28px}.bottom-nav{position:fixed;z-index:30;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);height:calc(68px + env(safe-area-inset-bottom));padding:6px max(8px,calc((100vw - 620px)/2)) env(safe-area-inset-bottom);background:#fffffff2;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-item{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:#87928d;font-size:.7rem;font-weight:700;border-radius:14px}.nav-item svg{width:21px;height:21px;stroke-width:2}.nav-item.active{color:var(--green);background:#edf3ed}.center-screen,.login-screen,.study-loading,.completion-screen{display:grid;min-height:100vh;min-height:100dvh;padding:28px;place-content:center;text-align:center}.app-mark{display:grid;width:58px;height:58px;margin:0 auto 18px;place-items:center;color:#fff;background:var(--green);border-radius:18px;box-shadow:var(--shadow)}.app-mark.large{width:70px;height:70px;margin:0;border-radius:22px}.login-screen{background:#edf1e9}.login-card{display:grid;width:min(100%,420px);gap:28px;padding:34px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.login-card h1{margin-bottom:6px}.form-stack{display:grid;gap:17px}.form-stack label,.form-stack fieldset{display:grid;gap:8px;color:#4b5e56;font-size:.78rem;font-weight:750}.form-stack input,.form-stack textarea,.form-stack select{width:100%;padding:13px 14px;color:var(--ink);background:#fbfcf9;border:1px solid #ced8d1;border-radius:12px;outline:none}.form-stack input:focus,.form-stack textarea:focus,.form-stack select:focus{border-color:var(--green-2);box-shadow:0 0 0 3px #2f725a1a}.form-stack textarea{min-height:88px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-error{margin:0;color:var(--danger);font-size:.82rem}.primary-button,.secondary-button,.danger-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;padding:0 18px;border:0;border-radius:13px;font-weight:800;cursor:pointer}.primary-button{color:#fff;background:var(--green)}.primary-button:hover{background:#103e2e}.secondary-button{color:var(--green);background:var(--mint)}.danger-button{color:#fff;background:var(--danger)}.compact{min-height:42px}.icon-button{display:grid;width:42px;height:42px;padding:0;place-items:center;color:#fff;background:var(--green);border:0;border-radius:13px;cursor:pointer}.icon-button svg{width:20px}.icon-button.ghost{color:var(--ink);background:transparent}.text-button,.text-link{display:inline-flex;align-items:center;gap:5px;color:var(--green-2);background:transparent;border:0;font-size:.82rem;font-weight:800;cursor:pointer}.hero-section{padding-top:8px}.hero-section .muted{max-width:520px;margin-bottom:0}.today-summary{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:24px;color:#fff;background:var(--green);border-radius:24px;box-shadow:0 15px 35px #184f3c29}.today-summary div:not(.summary-divider){display:grid;justify-items:center;gap:4px}.today-summary strong{font-size:2.3rem;line-height:1}.today-summary span{color:#cce0d5;font-size:.76rem}.summary-divider{width:1px;height:44px;background:#ffffff40}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.section-heading .eyebrow{margin-bottom:3px}.page-title{margin-bottom:-6px}.page-title h1{margin-bottom:0}.card-list{display:grid;gap:11px}.plan-card{display:flex;width:100%;min-height:80px;align-items:center;gap:13px;padding:13px 14px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 6px 20px #1b362d0a;cursor:pointer}.plan-card.completed:disabled{cursor:default;opacity:1}.plan-card.completed .plan-icon{color:#708078;background:#edf0ec}.plan-card.completed .plan-action{color:#7c8983}.plan-card.static{cursor:default}.plan-card-wrap{display:grid;gap:6px}.plan-adjust-button{justify-self:end;margin:-3px 8px 3px 0;padding:5px 8px;color:var(--muted);background:transparent;border:0;border-radius:8px;font-size:.67rem;font-weight:800;cursor:pointer}.plan-adjust-button:hover,.plan-adjust-button.active{color:var(--green-2);background:var(--mint)}.plan-icon{display:grid;flex:0 0 48px;height:48px;place-items:center;color:var(--green);background:var(--mint);border-radius:14px}.plan-copy{display:grid;flex:1;gap:5px}.plan-copy small,.import-header small{color:var(--muted);font-size:.76rem}.plan-action{display:flex;align-items:center;gap:2px;color:var(--green-2);font-size:.77rem;font-weight:800}.status-dot{color:var(--green-2);font-size:.74rem;font-weight:800}.status-dot:before{display:inline-block;width:7px;height:7px;margin-right:5px;background:#64a07e;border-radius:50%;content:""}.extra-study-section{padding:18px;background:#f1ece1;border:1px solid #e3dbc9;border-radius:22px}.extra-study-section .intro-copy{margin:-5px 0 14px;font-size:.78rem}.extra-study-card{display:flex;width:100%;min-height:74px;align-items:center;gap:13px;padding:12px 13px;text-align:left;background:#ffffffd1;border:1px solid #ded5c3;border-radius:17px;cursor:pointer}.extra-study-card.active{background:#fff;border-color:#c9d9cd}.extra-study-card>svg:last-child{width:18px;color:var(--green-2)}.extra-study-dialog .field-label{display:block;margin-bottom:8px;color:#4b5e56;font-size:.78rem;font-weight:750}.quantity-stepper{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;overflow:hidden;background:#f4f6f1;border:1px solid var(--line);border-radius:15px}.quantity-stepper button{display:grid;height:52px;place-items:center;color:var(--green-2);background:transparent;border:0;cursor:pointer}.quantity-stepper button svg{width:19px}.quantity-stepper strong{text-align:center;font-size:1.35rem}.quantity-stepper strong small{color:var(--muted);font-size:.72rem}.quantity-presets{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.quantity-presets button{min-height:38px;color:var(--green-2);background:#edf2eb;border:1px solid transparent;border-radius:10px;font-size:.75rem;font-weight:800;cursor:pointer}.quantity-presets button.active{color:#fff;background:var(--green)}.quiet-stats{display:flex;gap:13px;padding:18px;color:#5d6d66;background:#f0f1e9;border-radius:17px}.quiet-stats svg{flex:0 0 auto;margin-top:2px}.quiet-stats strong{color:var(--ink);font-size:.85rem}.quiet-stats p{margin:4px 0 0;font-size:.76rem;line-height:1.5}.today-history-card{display:flex;width:100%;align-items:center;gap:13px;padding:14px;text-align:left;background:#eef3e9;border:1px solid #d6e1d4;border-radius:18px;cursor:pointer}.today-history-card>span:nth-child(2){display:grid;flex:1;gap:5px}.today-history-card small{color:var(--muted);font-size:.75rem}.today-history-card>svg{color:var(--green-2)}.back-title{display:flex;align-items:center;gap:8px}.history-summary{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;background:var(--green);border-radius:20px}.history-summary div{display:grid;justify-items:center;gap:4px;padding:18px 8px;border-right:1px solid rgba(255,255,255,.16)}.history-summary div:last-child{border-right:0}.history-summary strong{color:#fff;font-size:1.35rem}.history-summary span{color:#cce0d5;font-size:.67rem}.history-filter{justify-self:start}.history-list{display:grid;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px}.history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:16px 17px;border-bottom:1px solid #edf0ec}.history-row:last-child{border-bottom:0}.history-word>span{display:flex;align-items:center;gap:8px}.history-word strong{font-family:Georgia,serif;font-size:1.08rem}.history-word em{padding:3px 6px;color:var(--green-2);background:var(--mint);border-radius:6px;font-size:.63rem;font-style:normal;font-weight:800}.history-word small{color:var(--green-2);font-family:Georgia,serif}.history-word p{margin:5px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}.history-meta{display:grid;min-width:115px;justify-items:end;align-content:start;gap:5px;text-align:right}.history-meta>span{padding:4px 7px;color:var(--green-2);background:var(--mint);border-radius:7px;font-size:.65rem;font-weight:850}.history-meta>span.review{color:#6a623f;background:#f3eedc}.history-meta small{max-width:180px;color:var(--muted);font-size:.64rem;line-height:1.4}.card-skeleton{display:grid;gap:10px;padding:22px;background:#fff;border-radius:18px}.card-skeleton span{width:55%;height:12px;background:#e8ece7;border-radius:8px}.card-skeleton span:last-child{width:35%}.import-card{overflow:hidden;background:#eef3e9;border:1px solid #d6e1d4;border-radius:20px}.import-header{display:flex;width:100%;align-items:center;gap:12px;padding:15px;text-align:left;background:transparent;border:0;cursor:pointer}.import-header>span:nth-child(2){display:grid;flex:1;gap:4px}.import-header>svg{width:18px;transition:transform .2s}.import-header>svg.rotated{transform:rotate(90deg)}.import-body{display:grid;gap:16px;padding:0 15px 16px}.file-drop{display:grid;padding:28px 20px;place-items:center;gap:7px;color:var(--green-2);background:#ffffffa6;border:1px dashed #a8b9ad;border-radius:15px;cursor:pointer}.file-drop input{display:none}.file-drop small{color:var(--muted);font-size:.74rem}.import-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:14px;background:#ffffffb3;border-radius:14px}.import-stats span{display:grid;justify-items:center;color:var(--muted);font-size:.7rem}.import-stats strong{color:var(--ink);font-size:1.2rem}.mapping-list{display:grid;gap:7px}.mapping-item{display:grid;gap:12px;padding:14px;background:#ffffffbf;border:1px solid #d7e0d7;border-radius:14px}.mapping-title{display:flex;justify-content:space-between;gap:12px;font-size:.8rem}.mapping-title small{color:var(--muted)}.mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mapping-grid label{display:grid;gap:5px;color:var(--muted);font-size:.67rem;font-weight:750}.mapping-grid select{width:100%;min-width:0;padding:9px 28px 9px 10px;color:var(--ink);background:#fff;border:1px solid #cbd7ce;border-radius:9px}.mapping-help{margin:0;color:var(--muted);font-size:.75rem;line-height:1.55}.inline-check{display:flex;align-items:center;gap:7px}.inline-check input{width:17px;height:17px}.source-field-list{display:grid;gap:8px}.source-field-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(120px,.8fr);align-items:center;gap:8px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:11px}.source-field-row>div{display:grid;min-width:0;gap:4px}.source-field-row strong{font-size:.75rem}.source-field-row small{overflow:hidden;color:var(--muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.source-field-row select,.source-field-row input,.template-select select{min-width:0;padding:9px;background:#fbfcf9;border:1px solid #cbd7ce;border-radius:9px}.source-field-row>input,.source-field-row .answer-toggle{grid-column:2}.answer-toggle{color:var(--muted);font-size:.68rem;font-weight:700}.template-select{display:grid;grid-template-columns:1fr minmax(150px,1fr);align-items:center;gap:10px;color:var(--muted);font-size:.72rem;font-weight:750}.chip-row{display:flex;gap:8px;padding-bottom:2px;overflow-x:auto;scrollbar-width:none}.chip{display:flex;flex:0 0 auto;align-items:center;gap:8px;padding:10px 13px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;font-size:.79rem;font-weight:750}.chip span{display:grid;min-width:21px;height:21px;place-items:center;background:#f0f2ed;border-radius:99px;font-size:.66rem}.chip.active{color:#fff;background:var(--green);border-color:var(--green)}.chip.active span{background:#ffffff2e}.lesson-chips{margin-top:-17px}.heading-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:9px}.entry-list{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px}.entry-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:15px 17px;border-bottom:1px solid #edf0ec}.entry-row:last-child{border-bottom:0}.entry-row p{display:-webkit-box;margin:4px 0 0;overflow:hidden;color:var(--muted);font-size:.78rem;-webkit-box-orient:vertical;-webkit-line-clamp:2}.entry-row>span{flex:0 0 auto;color:var(--green-2);font-size:.75rem}.entry-meta{display:grid;justify-items:end;gap:5px}.entry-meta small{font-family:Georgia,serif}.entry-meta em{padding:3px 6px;color:var(--muted);background:#f0f2ee;border-radius:6px;font-size:.62rem;font-style:normal}.empty-state{display:grid;min-height:250px;padding:36px 24px;place-items:center;align-content:center;text-align:center;background:#ffffff8c;border:1px dashed #cdd7cf;border-radius:22px}.empty-state>span{display:grid;width:52px;height:52px;margin-bottom:14px;place-items:center;color:var(--green-2);background:var(--mint);border-radius:16px}.empty-state p{max-width:360px;margin-bottom:18px;color:var(--muted);font-size:.82rem;line-height:1.6}.intro-copy{margin:-12px 0 0}.check-list{display:grid;max-height:230px;overflow-y:auto;border:1px solid var(--line);border-radius:13px}.check-list label{display:flex;grid-template-columns:auto 1fr auto;flex-direction:row;align-items:center;padding:12px;border-bottom:1px solid var(--line)}.check-list label:last-child{border-bottom:0}.check-list input{width:18px}.check-list span{flex:1}.check-list small{color:var(--muted)}.field-settings{display:grid;gap:13px}.field-group{display:grid;gap:9px}.field-group-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.field-group-heading small{color:var(--muted)}.core-field-list{display:grid;gap:7px}.core-field-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;background:#f7f8f4;border:1px solid var(--line);border-radius:11px}.core-field-row span{display:grid;gap:2px}.core-field-row small{color:var(--muted)}.core-field-row em{flex:none;padding:4px 8px;color:var(--green-2);background:var(--green-soft);border-radius:999px;font-size:.7rem;font-style:normal;font-weight:750}.field-setting-row{display:grid;grid-template-columns:auto 1fr 135px;align-items:end;gap:9px;padding:12px;background:#f7f8f4;border:1px solid var(--line);border-radius:13px}.field-setting-row label{display:grid;gap:5px;color:var(--muted);font-size:.68rem;font-weight:750}.field-setting-row input,.field-setting-row select{width:100%;min-width:0;padding:9px;background:#fff;border:1px solid #cbd7ce;border-radius:9px}.field-order{display:flex;gap:4px}.field-order button{width:30px;height:34px;color:var(--green-2);background:#fff;border:1px solid var(--line);border-radius:8px}.field-setting-row .toggle-label{grid-column:2 / -1;display:flex;flex-direction:row;align-items:center}.field-setting-row .toggle-label input{width:17px}.scope-list{display:grid;gap:10px}.plan-mode-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.plan-mode-options label{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;padding:11px;color:var(--muted);background:#f7f9f5;border:1px solid var(--line);border-radius:12px;cursor:pointer}.plan-mode-options label.active{color:var(--green);background:var(--mint);border-color:#b8d2c1}.plan-mode-options input{grid-row:1 / 3;align-self:start;width:auto;margin-top:2px}.plan-mode-options strong{font-size:.78rem}.plan-mode-options small{font-size:.66rem;line-height:1.45}.field-help{margin:0 0 9px;color:var(--muted);font-size:.7rem;line-height:1.5}.daily-override-dialog>p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.6}.override-current{padding:9px 11px;color:var(--green-2)!important;background:var(--mint);border-radius:10px;font-weight:800}.scope-book{overflow:hidden;background:#fafbf8;border:1px solid var(--line);border-radius:13px}.scope-book-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px}.scope-book-header>div{display:grid;gap:4px}.scope-book-header small{color:var(--muted);font-size:.68rem;font-weight:500}.scope-book-header select{width:auto;min-width:112px;padding:8px}.lesson-checks{display:grid;grid-template-columns:repeat(3,1fr);max-height:210px;padding:9px;overflow-y:auto;background:#fff;border-top:1px solid var(--line)}.lesson-checks label{display:flex;flex-direction:row;align-items:center;gap:6px;padding:8px}.lesson-checks input{width:16px}.lesson-checks span{flex:1}.lesson-checks small{color:var(--muted)}.settings-group{display:grid;gap:14px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:20px}.settings-group h2{font-size:.88rem}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:5px 0}.setting-row>div:first-child,.setting-action span{display:grid;gap:4px}.setting-row small,.setting-action small{color:var(--muted);font-size:.72rem;font-weight:500}.segmented{display:flex;padding:3px;background:#edf0eb;border-radius:10px}.segmented button{padding:7px 10px;background:transparent;border:0;border-radius:8px;font-size:.74rem;font-weight:750}.segmented button.active{color:#fff;background:var(--green)}.toggle-switch{position:relative;flex:0 0 auto;width:48px;height:28px;padding:3px;background:#d9dfda;border:0;border-radius:99px;cursor:pointer;transition:background .18s ease}.toggle-switch span{display:block;width:22px;height:22px;background:#fff;border-radius:50%;box-shadow:0 1px 4px #19342b33;transition:transform .18s ease}.toggle-switch.active{background:var(--green-2)}.toggle-switch.active span{transform:translate(20px)}.toggle-switch:focus-visible{outline:3px solid rgba(47,114,90,.2);outline-offset:2px}.slider-row{display:grid;grid-template-columns:1fr auto}.slider-row output{color:var(--green-2);font-weight:850}.slider-row input{grid-column:1 / -1;width:100%;accent-color:var(--green)}.setting-action{display:flex;align-items:center;gap:13px;padding:4px 0;text-align:left;background:transparent;border:0;cursor:pointer}.setting-action>svg:first-child{color:var(--green-2)}.setting-action span{flex:1}.setting-action>svg:last-child{width:17px;color:#a4afa9}.setting-action.danger strong,.setting-action.danger>svg:first-child{color:var(--danger)}.testing-tools{border-color:#e6c9c4;background:#fffaf9}.testing-tools>div:first-child{display:grid;gap:2px}.testing-tools>div:first-child .eyebrow{margin:0;color:var(--danger)}.testing-tools>.muted{margin:-5px 0 0;font-size:.76rem}.reset-dialog>p{margin:0;color:var(--muted);line-height:1.65}.warning-note{padding:11px 12px;color:#81534d!important;background:#faece9;border-radius:11px;font-size:.76rem}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;align-items:end;background:#11261e52;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-sheet{width:min(100%,620px);max-height:88vh;margin:0 auto;padding:20px 20px calc(24px + env(safe-area-inset-bottom));overflow-y:auto;background:#fff;border-radius:26px 26px 0 0;box-shadow:0 -20px 60px #122e232e;animation:sheet-in .2s ease-out}.modal-sheet header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}@keyframes sheet-in{0%{transform:translateY(20px);opacity:0}}.study-screen{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;min-height:100vh;min-height:100dvh;padding:calc(10px + env(safe-area-inset-top)) 18px calc(14px + env(safe-area-inset-bottom));background:#eef1e9}.study-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:13px}.progress-wrap{display:flex;align-items:center;gap:9px}.progress-wrap small{flex:0 0 auto;color:var(--muted);font-size:.68rem;font-variant-numeric:tabular-nums}.progress-track{flex:1;height:6px;overflow:hidden;background:#d4ddd5;border-radius:99px}.progress-track span{display:block;height:100%;background:var(--green-2);border-radius:inherit;transition:width .25s}.study-message{justify-self:center;display:flex;align-items:center;gap:5px;min-height:18px;padding:2px 10px;color:#6c776c;font-size:.7rem}.study-enrichment-slot{min-height:0}.flashcard{align-self:center;width:min(100%,650px);min-height:min(55vh,540px);max-height:64vh;margin:12px auto;padding:34px 24px;overflow-y:auto;background:#fff;border:1px solid #dce3dc;border-radius:28px;box-shadow:0 18px 55px #1d3a301a;cursor:pointer}.flashcard.revealed{min-height:0;max-height:70vh;margin:4px auto;padding-top:20px;padding-bottom:20px}.card-front{display:grid;min-height:280px;place-items:center;align-content:center;text-align:center}.card-state{margin-bottom:19px;padding:6px 10px;color:var(--green-2);background:var(--mint);border-radius:99px;font-size:.67rem;font-weight:850;letter-spacing:.08em}.card-front h1{margin-bottom:17px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.6rem,12vw,5.2rem);font-weight:500;line-height:1;letter-spacing:-.04em}.flashcard.revealed .card-front{min-height:0;gap:8px}.flashcard.revealed .card-state{margin:0;padding:4px 8px;font-size:.61rem}.flashcard.revealed .card-front h1{margin:0;font-size:clamp(2.35rem,8vw,3.35rem)}.audio-button{display:grid;width:38px;height:38px;padding:0;place-items:center;color:var(--green-2);background:transparent;border:0;border-radius:50%;cursor:pointer}.audio-button svg{width:17px}.reveal-hint{margin:42px 0 -30px;color:#9ba69f;font-size:.72rem}.card-answer{text-align:center;animation:answer-in .2s ease-out}@keyframes answer-in{0%{opacity:0;transform:translateY(5px)}}.answer-divider{width:60px;height:1px;margin:12px auto;background:#dbe1dc}.phonetic{color:var(--green-2);font-family:Georgia,serif}.word-meta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:7px;color:var(--green-2)}.word-meta>span:first-child:not(.phonetic){padding:4px 7px;background:var(--mint);border-radius:7px;font-size:.7rem;font-weight:800}.phonetic-button{padding:3px 2px;background:transparent;border:0;font-size:inherit;cursor:pointer}.answer-audio-button{display:grid;width:30px;height:30px;padding:0;place-items:center;color:var(--green-2);background:transparent;border:0;border-radius:50%;cursor:pointer}.answer-audio-button svg{width:14px;height:14px}.definition{margin:0 auto 10px;max-width:520px;font-size:1rem;font-weight:700;line-height:1.45;white-space:pre-line}.card-answer blockquote{max-width:480px;margin:8px auto;padding:10px 13px;color:#56665f;background:#f5f6f1;border-left:3px solid #aac4b4;border-radius:0 10px 10px 0;font-family:Georgia,serif;font-size:.84rem;line-height:1.48}.memory-aid,.entry-notes{max-width:500px;margin:8px auto 0;padding:10px 13px;text-align:left;background:#f6f2e8;border-radius:11px}.memory-aid strong,.entry-notes strong{color:#76623d;font-size:.7rem;letter-spacing:.05em}.memory-aid p,.entry-notes p{margin:4px 0 0;color:#554b38;font-size:.82rem;line-height:1.48;white-space:pre-line}.collocations{background:#f2f6ef}.today-enrichment-progress{display:grid;gap:10px;margin:-8px 0 0;padding:14px 16px;color:var(--green-2);background:#eef5ef;border:1px solid #d8e4da;border-radius:16px}.today-enrichment-copy{display:flex;align-items:center;gap:10px}.today-enrichment-copy>span{display:grid;gap:3px}.today-enrichment-copy strong{font-size:.86rem}.today-enrichment-copy small{color:var(--muted);font-size:.7rem}.today-enrichment-progress.compact{width:min(100%,650px);justify-self:center;gap:6px;margin:0 auto 2px;padding:8px 12px;border-radius:11px}.today-enrichment-progress.compact .today-enrichment-copy{gap:7px}.today-enrichment-progress.compact .today-enrichment-copy strong{font-size:.68rem}.today-enrichment-progress.compact .progress-track{height:3px}.coverage-summary{display:block;margin-top:4px;color:var(--muted)}.enrichment-job-list{display:grid;gap:10px;margin:-8px 0 18px}.enrichment-job-card{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.enrichment-job-card>div:first-child,.enrichment-job-card footer{display:flex;align-items:center;gap:10px}.enrichment-job-card>div:first-child span{display:grid;gap:2px}.enrichment-job-card .progress-track{margin:10px 0 8px}.enrichment-job-card footer{justify-content:space-between}.enrichment-job-card footer>div{display:flex;align-items:center;gap:8px}.entry-notes{background:#f3f5f1}.extra-fields{display:grid;max-width:500px;margin:15px auto 0;text-align:left;border:1px solid var(--line);border-radius:13px}.extra-fields div{display:grid;grid-template-columns:minmax(90px,.35fr) 1fr;gap:12px;padding:11px 13px;border-bottom:1px solid var(--line)}.extra-fields div:last-child{border-bottom:0}.extra-fields dt{color:var(--muted);font-size:.7rem;font-weight:800}.extra-fields dd{margin:0;font-size:.82rem;line-height:1.55;white-space:pre-line}.tag-row{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:15px}.tag-row span{padding:5px 8px;color:var(--muted);background:#f0f2ee;border-radius:7px;font-size:.66rem}.ai-tools{max-width:520px;margin:10px auto 0;padding-top:10px;text-align:left;border-top:1px solid var(--line)}.ai-more-examples{display:flex;width:100%;min-height:36px;align-items:center;justify-content:center;gap:6px;padding:7px 10px;color:var(--green);background:#eef4ef;border:1px solid #d6e2d8;border-radius:10px;font-size:.69rem;font-weight:800;cursor:pointer}.ai-more-examples svg{width:15px}.ai-more-examples:disabled{cursor:default;opacity:.55}.ai-note,.ai-error{margin:8px 0 0;font-size:.68rem}.ai-result{display:grid;gap:10px;margin-top:12px;padding:13px;background:#f7f8f4;border:1px solid var(--line);border-radius:13px}.ai-result-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-result-title strong{font-size:.76rem}.ai-result-title button{display:flex;align-items:center;gap:4px;padding:5px 7px;color:var(--green-2);background:transparent;border:0;font-size:.64rem;font-weight:800;cursor:pointer}.ai-result-title svg{width:13px}.ai-example{padding-top:9px;border-top:1px solid var(--line)}.ai-example p{margin:0;color:var(--ink);font-family:Georgia,serif;font-size:.84rem;line-height:1.55}.ai-example span,.ai-example small{display:block;margin-top:4px;color:var(--muted);font-size:.7rem;line-height:1.45}.ai-example small{color:#84744f}.show-answer-button{width:min(100%,650px);min-height:56px;margin:0 auto;color:#fff;background:var(--green);border:0;border-radius:16px;font-weight:850}.rating-panel{width:min(100%,650px);margin:0 auto}.rating-panel>p{margin-bottom:8px;color:var(--muted);text-align:center;font-size:.72rem}.rating-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rating-button{display:grid;min-height:58px;place-content:center;gap:3px;background:#fff;border:1px solid #d5ded6;border-radius:15px;font-weight:850;cursor:pointer}.rating-button small{color:var(--muted);font-size:.65rem;font-weight:650}.rating-button.again span{color:#a6473e}.rating-button.good{color:#fff;background:var(--green);border-color:var(--green)}.rating-button.good small{color:#cce0d5}.rating-button.easy span{color:#2d7657}.study-loading{gap:8px;color:var(--muted)}.completion-screen{justify-items:center;color:var(--muted)}.completion-screen h1{color:var(--ink)}.completion-screen p:not(.eyebrow){max-width:380px;line-height:1.6}.completion-icon{display:grid;width:76px;height:76px;margin-bottom:24px;place-items:center;color:#fff;background:var(--green);border-radius:50%;box-shadow:var(--shadow)}.completion-message{max-width:420px;margin-bottom:12px;padding:9px 12px;color:var(--green-2);background:var(--mint);border-radius:10px;font-size:.72rem}.extra-study-actions{display:flex;gap:9px;margin:4px 0 12px}.completion-screen>.primary-button{min-width:210px}.card-answer blockquote p{margin:0}.card-answer blockquote small{display:block;margin-top:5px;color:#718079;font-family:inherit;font-size:.76rem}.active-ocr-drafts{display:grid;gap:6px;padding:0 15px 14px}.active-ocr-drafts>small{color:var(--muted);font-size:.68rem;font-weight:800}.active-ocr-drafts a{display:grid;grid-template-columns:1fr auto 18px;align-items:center;gap:8px;padding:10px 11px;background:#ffffffb8;border-radius:11px;font-size:.75rem;font-weight:800}.active-ocr-drafts em{color:var(--muted);font-size:.66rem;font-style:normal;font-weight:600}.ocr-page{gap:22px}.ocr-wizard-card,.ocr-progress-card,.ocr-review-section{padding:20px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 30px #1b362d0d}.ocr-step-heading{display:flex;align-items:flex-start;gap:12px}.ocr-step-heading>span{display:grid;flex:0 0 30px;height:30px;place-items:center;color:#fff;background:var(--green);border-radius:50%;font-size:.76rem;font-weight:850}.ocr-step-heading h2{margin-bottom:4px}.ocr-step-heading p{margin:0;color:var(--muted);font-size:.73rem;line-height:1.5}.ocr-file-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ocr-image-grid{display:grid;gap:9px}.ocr-image-grid article{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;background:#f7f9f5;border:1px solid var(--line);border-radius:13px}.ocr-image-grid img{width:64px;height:52px;object-fit:cover;border-radius:8px}.ocr-image-grid article>div{display:grid;min-width:0;gap:4px}.ocr-image-grid strong{overflow:hidden;font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.ocr-image-grid small{color:var(--muted);font-size:.65rem}.ocr-image-grid article>span{display:flex}.ocr-image-grid article button,.ocr-entry-card header>button{display:grid;width:30px;height:30px;padding:0;place-items:center;color:var(--muted);background:transparent;border:0;border-radius:8px;cursor:pointer}.ocr-image-grid article button:hover,.ocr-entry-card header>button:hover{color:var(--danger);background:#f8e9e6}.ocr-image-grid article svg,.ocr-entry-card header>button svg{width:15px}.ocr-processing{display:grid;min-height:40vh;place-content:center;justify-items:center;gap:10px;color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ocr-progress-card{display:grid;gap:13px}.ocr-progress-card>div:first-child{display:flex;align-items:center;gap:12px}.ocr-progress-card>div:first-child>span{display:grid;width:44px;height:44px;place-items:center;color:var(--green);background:var(--mint);border-radius:13px}.ocr-progress-card>div:first-child>div{display:grid;gap:3px}.ocr-progress-card small{color:var(--muted);font-size:.7rem}.ocr-image-status{display:block;padding:7px 9px;background:#f5f7f3;border-radius:8px}.ocr-image-status.failed{color:var(--danger);background:#faece9}.warning-note{margin:0;padding:10px 12px;color:#765d2f;background:#f7eedb;border-radius:10px;font-size:.75rem;line-height:1.5}.danger-text{color:var(--danger)}.ocr-review-section{display:grid;gap:16px}.save-state{color:var(--muted);font-size:.7rem}.save-state button{padding:5px 7px;color:var(--danger);background:#faece9;border:0;border-radius:8px;font-size:.68rem;font-weight:800;cursor:pointer}.ocr-bulk-lesson{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}.ocr-bulk-lesson label{display:grid;gap:6px;color:var(--muted);font-size:.72rem;font-weight:800}.ocr-bulk-lesson input{width:100%;padding:11px 12px;color:var(--ink);background:#fbfcf9;border:1px solid #ced8d1;border-radius:11px}.ocr-entry-list{display:grid;gap:11px}.ocr-entry-card{overflow:hidden;background:#f9faf7;border:1px solid var(--line);border-radius:15px}.ocr-entry-card.excluded{opacity:.65}.ocr-entry-card header{display:grid;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:8px;padding:11px 13px;background:#f0f4ef}.ocr-entry-card header strong{font-size:.8rem}.ocr-entry-card header>span{color:var(--muted);font-size:.64rem}.ocr-entry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:13px}.ocr-entry-fields label{display:grid;gap:5px;color:var(--muted);font-size:.67rem;font-weight:800}.ocr-entry-fields input,.ocr-entry-fields textarea{width:100%;min-width:0;padding:10px 11px;color:var(--ink);background:#fff;border:1px solid #ced8d1;border-radius:9px}.ocr-entry-fields textarea{min-height:68px;resize:vertical}.ocr-entry-fields .wide{grid-column:1 / -1}.ocr-complete{display:grid;min-height:55vh;justify-items:center;place-content:center;text-align:center}.ocr-complete>span{display:grid;width:70px;height:70px;margin-bottom:18px;place-items:center;color:#fff;background:var(--green);border-radius:50%}.lesson-settings{min-width:0}.lesson-setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:9px}.lesson-setting-row input{min-width:0}.lesson-setting-row small{color:var(--muted);font-size:.67rem}.lesson-setting-row.add{grid-template-columns:minmax(0,1fr) auto;padding-top:13px;border-top:1px solid var(--line)}.delete-content-dialog{gap:16px}.delete-warning{display:flex;gap:12px;padding:14px;color:#7d2e28;background:#fff1ef;border:1px solid #efc5c0;border-radius:14px}.delete-warning>svg{flex:none;margin-top:2px}.delete-warning div{display:grid;gap:5px}.delete-warning p{color:#9a4a43;font-size:.78rem;line-height:1.5}@media(min-width:700px){.modal-backdrop{align-items:center;padding:24px}.modal-sheet{border-radius:26px}.topbar{padding-right:max(24px,calc((100vw - 760px)/2));padding-left:max(24px,calc((100vw - 760px)/2))}.page-container{padding-top:38px}.bottom-nav{right:auto;bottom:22px;left:50%;width:430px;height:66px;padding:6px;transform:translate(-50%);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.app-shell{padding-bottom:100px}}@media(max-width:390px){.form-grid{grid-template-columns:1fr}.flashcard{min-height:52vh;padding:24px 18px}.card-front{min-height:240px}.card-front h1{font-size:2.8rem}.rating-button{min-height:54px}.mapping-grid,.source-field-row{grid-template-columns:1fr}.source-field-row>input,.source-field-row .answer-toggle{grid-column:1}.field-setting-row{grid-template-columns:1fr}.field-setting-row .toggle-label{grid-column:1}.lesson-checks{grid-template-columns:repeat(2,1fr)}.history-row{grid-template-columns:1fr;gap:10px}.history-meta{grid-template-columns:auto 1fr;min-width:0;justify-items:start;text-align:left}.history-meta small:last-child{grid-column:1 / -1}.ocr-file-actions,.ocr-entry-fields{grid-template-columns:1fr}.ocr-entry-fields .wide{grid-column:1}.ocr-bulk-lesson{grid-template-columns:1fr}.ocr-entry-card header{grid-template-columns:minmax(0,1fr) 32px}.ocr-entry-card header>span{grid-column:1 / -1;grid-row:2}.ocr-image-grid article{grid-template-columns:52px minmax(0,1fr)}.ocr-image-grid img{width:52px;height:46px}.ocr-image-grid article>span{grid-column:1 / -1;justify-content:flex-end}}
