:root{font-family:ui-rounded,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#303e36;background:#f6f5ee;font-synthesis:none;--green:#36634d;--muted:#768078}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button{transition:background .15s,transform .15s}button:hover:not(:disabled){transform:translateY(-1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a679c2;outline-offset:4px}button:disabled{cursor:default}header{max-width:1200px;margin:auto;padding:25px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4e6da}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#36583f;font-weight:750;font-size:24px;letter-spacing:-1px}.brand-icon{font-size:37px}.version{font-size:10px;letter-spacing:0;background:#e5e9dc;padding:4px 7px;border-radius:5px;align-self:center}.header-note{font-size:12px;color:var(--muted)}main{max-width:1128px;margin:auto;padding:0 24px}.intro{text-align:center;padding:43px 0 30px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;color:#7b8974}h1{font-family:Georgia,serif;font-size:42px;font-weight:400;letter-spacing:-1.4px;margin:13px 0}h1 em{color:#607d50;font-weight:400}.intro p{font-size:14px;color:var(--muted)}.dashboard{display:flex;align-items:center;gap:55px;padding:21px 27px;border:1px solid #e1e5d8;border-radius:16px;background:#fcfcf6}.dashboard>div{display:flex;gap:12px;align-items:center}.stat-icon{display:grid;place-items:center;background:#e6eddc;width:43px;height:43px;border-radius:13px;color:#728356;font-size:24px}.peach{background:#f9e9da;color:#b78663}.lavender{background:#ebe6f3;color:#8a77a9}.dashboard strong{display:block;font-size:21px;font-weight:650}.dashboard small{color:var(--muted);font-size:11px}.local-badge{margin-left:auto;color:#76856b;font-size:10px}.workspace{display:grid;grid-template-columns:218px 1fr;gap:34px;margin-top:35px}aside{padding:5px 24px 0 0;border-right:1px solid #e2e5d9}h2{font-size:16px;margin:0;font-weight:650}.muted{color:var(--muted);font-size:12px;line-height:1.6}aside>p{margin:8px 0 28px}label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}select{width:100%;padding:11px 12px;border:1px solid #dce0d3;border-radius:8px;background:#fffefa;color:#4a554b}aside select{margin-bottom:22px}.aside-note{padding:20px 16px;border-radius:12px;background:#eaf0e0;margin-top:13px}.aside-note>span{display:block;font-size:25px;margin-bottom:12px}.aside-note strong{font-size:12px}.aside-note p{font-size:12px;line-height:1.7;color:#74816c;margin-bottom:0}.sample-note{font-size:9px;line-height:2.1;color:#8b9386;margin-top:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:4px 0 17px}.section-heading>span{font-size:10px;color:#8c9386}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mode{border:1px solid #e1e4d9;border-radius:9px;padding:12px 9px;background:#fcfcf8;color:#788070;font-size:12px;display:flex;align-items:center;gap:9px}.mode>span{font-size:19px}.mode.active{color:#fff;background:var(--green);border-color:var(--green)}.session-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0 18px;font-size:14px;font-weight:600}.text-button{border:0;background:none;color:#7a8373;font-size:11px;padding:5px}.progress-line{display:flex;justify-content:space-between;font-size:10px;color:#7c8575;margin-bottom:9px}.progress-track{height:5px;background:#e7e9df;border-radius:5px;margin-bottom:18px;overflow:hidden}#progress-bar{height:100%;background:#91ad77;transition:width .2s}.card{background:#fffefa;border:1px solid #e3e6d9;border-radius:17px;padding:22px 25px;box-shadow:0 5px 0 #e9ecdf55;min-height:300px}.card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.card-top>.muted{font-size:8px;letter-spacing:1.1px}.pill{background:#f0f2e8;color:#7c886b;font-size:9px;border-radius:5px;padding:6px 8px}.flashcard{width:100%;border:0;background:transparent;color:inherit;padding:30px 0 0}.flashcard h2{font-family:Georgia,serif;font-size:45px;font-weight:400;margin:15px 0;letter-spacing:-1px}.flower{display:block;font-size:37px;color:#c5cea4;margin:12px}.flashcard>.muted{font-size:10px;margin:19px 0 2px}.definition h3{font-size:21px;margin:12px 0}.definition p{font-size:13px;color:#7c8275}.tags{display:flex;gap:8px;justify-content:center;font-size:11px;color:#77846c}.tags span{padding:5px 10px;border-radius:6px;background:#f0f2e9}dl{text-align:left;border-top:1px solid #e9eadf;margin:20px 0 0;padding-top:7px}dt{font-size:10px;color:#8a927e;margin-top:12px}dd{font-size:12px;line-height:1.7;margin:5px 0}.rating-label,.hint{text-align:center;font-size:10px;color:#89917f;margin:19px 0 12px}.ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ratings button{border:1px solid #e8d9d2;background:#faede7;color:#af7768;border-radius:9px;padding:12px;font-size:12px}.ratings button:nth-child(2){background:#faf1da;border-color:#e9dfbf;color:#aa8e47}.ratings button:nth-child(3){background:#eaf0e0;border-color:#dbe3cf;color:#708359}.ratings button:nth-child(4){background:#e0eee6;border-color:#cfdfd4;color:#4e8065}.ratings small{display:block;font-size:9px;margin-top:4px;opacity:.8}.question{text-align:center;padding:32px 0 24px}.question h2{font-family:Georgia,serif;font-size:28px;line-height:1.4;margin:17px 0 0;font-weight:400}.answers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answers button{display:flex;align-items:center;text-align:left;gap:11px;border:1px solid #e0e3d6;background:#fafbf5;border-radius:9px;padding:14px;font-size:13px;color:#4e5a48}.answers button>span{font-size:10px;background:#ecefe3;padding:5px 7px;border-radius:5px}.answers button.correct{background:#e0efdf;border-color:#83aa75}.answers button.incorrect{background:#f9e3dc;border-color:#cc8e7a}.primary,.secondary{padding:12px 18px;border-radius:9px;font-size:12px;border:1px solid var(--green);background:var(--green);color:white}.secondary{background:transparent;color:var(--green)}.next{display:block;margin:17px 0 0 auto}.input-row{display:flex;gap:10px}input{min-width:0;width:100%;padding:13px;border:1px solid #cfd8c3;border-radius:8px;background:#fffefa}.input-row button{white-space:nowrap}.feedback{padding:15px;margin-top:19px;border-radius:9px;font-size:13px}.feedback p{margin:8px 0 0;line-height:1.6}.success{background:#eaf3e6}.error{background:#fcf0e3}.explanation{color:#727d67;font-size:12px}.empty{text-align:center;padding:40px 20px}.empty h2{font-family:Georgia,serif;font-size:30px;margin:15px 0}.empty p{font-size:13px;line-height:1.7;color:#78816e}.empty button{margin-top:10px}.big-icon{display:block;font-size:39px;color:#8d9f67;margin-bottom:18px}.direction{display:flex;align-items:center;gap:15px;margin-bottom:20px}.direction label{margin:0;white-space:nowrap}.direction select{max-width:250px;font-size:12px}.notice{background:#fff0d9;padding:15px;border-radius:10px;margin-top:20px;font-size:13px}footer{text-align:center;color:#929884;font-size:10px;padding:35px 0 25px}footer span{padding:0 12px;color:#9ba67b}[hidden]{display:none!important}@media(min-width:1000px){.study{max-width:790px}}@media(max-width:700px){header{padding:16px 20px}.header-note{display:none}main{padding:0 16px}.intro{padding:28px 0 20px}h1{font-size:32px}.intro p{font-size:12px}.dashboard{gap:10px;padding:16px 12px;justify-content:space-between}.stat-icon{display:none}.dashboard strong{font-size:20px}.dashboard small{font-size:9px}.local-badge{display:none}.workspace{grid-template-columns:1fr;gap:20px;margin-top:22px}aside{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:0;border:0}aside h2{grid-column:1/-1}aside>.muted,.aside-note,.sample-note{display:none}aside label{margin:5px 0 0}aside label[for=level]{grid-column:1;grid-row:2}aside label[for=topic]{grid-column:2;grid-row:2}aside select{margin:0;grid-row:3}.mode{font-size:10px;padding:11px 7px;gap:6px}.card{padding:18px 16px}.answers{grid-template-columns:1fr}.question h2{font-size:26px}.ratings{gap:6px}.ratings button{padding:12px 5px}.direction{align-items:flex-start;flex-direction:column;gap:8px}.input-row{flex-direction:column}.flashcard h2{font-size:40px}footer{line-height:2}.card-top>.muted{font-size:7px}}
:is(.definition p,.definition h3,dd,.question h2,.answers button,.sample-note){white-space:pre-line;overflow-wrap:anywhere}
/* Built-in pronunciation controls and independent, touch-friendly speaker buttons. */
.pronunciation-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px;padding:12px 15px;border:1px solid #e1e5d8;border-radius:12px;background:#fcfcf6}
.pronunciation-label{font-size:12px;font-weight:600;margin-right:auto}.pronunciation-controls label{margin:0;font-size:11px}.pronunciation-controls select{width:auto;padding:8px;font-size:12px}.pronunciation-controls .secondary{padding:9px 12px}#speech-status{font-size:11px;color:#6c775f}#speech-status:not(:empty){flex-basis:100%}
.speaker,.answers .speaker{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0;width:34px;min-height:34px;padding:5px;margin:0 2px;border:1px solid #dce3d2;border-radius:50%;background:#edf2e6;color:#36634d;font-size:14px;line-height:1;letter-spacing:0;font-family:inherit}
.speaker:hover:not(:disabled),.answers .speaker:hover:not(:disabled){background:#dfe9d4}.speaker:disabled{opacity:.45}.word-line{display:flex;justify-content:center;align-items:center;gap:9px}.word-flip{padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit}.flashcard{text-align:center;cursor:pointer}.spoken-word{display:inline;white-space:nowrap}.answer-option{display:flex;align-items:center;gap:5px;min-width:0}.answer-option>[data-choice]{flex:1;min-width:0;width:100%;height:100%}.definition dd{line-height:2}.feedback .speaker{width:30px;min-height:30px;font-size:12px}
@media(max-width:700px){.pronunciation-controls{gap:8px}.pronunciation-label{flex-basis:100%}.pronunciation-controls select{max-width:135px}.speaker,.answers .speaker{width:40px;min-height:40px}.feedback .speaker{width:36px;min-height:36px}.word-line{gap:5px}}
/* Today's Review shares the existing cards, ratings, typography, and speech controls. */
.today-dashboard{margin-top:18px;padding:19px 23px;background:#fcfcf6;border:1px solid #e1e5d8;border-radius:15px;display:flex;align-items:center;flex-wrap:wrap;gap:17px 28px}.today-dashboard h2{font-size:18px}.today-dashboard .muted{margin:6px 0 0}.today-counts{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#69745f}.today-counts strong{color:#36634d;font-size:20px;margin-left:4px}.today-start{display:flex;gap:10px;align-items:center;margin-left:auto}.today-card .flashcard{cursor:default}.today-card .definition{text-align:center}.today-feedback{font-size:13px;color:#36634d;line-height:1.6;margin-top:14px;text-align:center}.today-feedback:empty{display:none}.advanced-review{margin:15px 0;color:#6c775f;font-size:12px}.advanced-review summary{cursor:pointer;width:max-content;padding:8px}.advanced-intervals{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.advanced-intervals button{padding:8px 12px}.review-navigation{display:flex;justify-content:space-between;margin-top:12px}.review-navigation button:disabled{opacity:.4}.review-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;max-width:400px;margin:20px auto;text-align:left}.review-summary p{display:flex;justify-content:space-between;gap:10px;margin:0}.review-summary strong{color:#36634d}@media(max-width:700px){.today-dashboard{padding:17px;gap:14px}.today-counts{gap:12px;font-size:11px}.today-counts strong{font-size:18px}.today-start{margin-left:0;flex-wrap:wrap}.today-card .flashcard h2{font-size:35px;overflow-wrap:anywhere}.review-summary{gap:8px 14px}}
/* Keep sync state visible on phones without changing the dashboard styling. */
@media(max-width:700px){.dashboard{flex-wrap:wrap}.dashboard>.local-badge{display:block;flex-basis:100%;margin-left:0;overflow-wrap:anywhere}}
