@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Lora:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--bg:#f8f9f5;--paper:#fff;--ink:#253c32;--muted:#7c867d;--green:#2b634b;--lime:#eaf1db;--line:#e1e5dc;--red:#a94944;--sans:'DM Sans',sans-serif;--serif:'Lora',Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px}button,input,select{font:inherit}button,select{cursor:pointer}button{color:inherit}button:disabled{cursor:default;opacity:.45}button,a,input,select{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #99b478;outline-offset:4px}button{transition:background .15s,transform .15s}button:not(:disabled):active{transform:translateY(1px)}[hidden]{display:none!important}header{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 48px;gap:70px;background:#fbfcf9}.brand{font-size:25px;font-weight:650;letter-spacing:-1.1px;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:10px}.brand-icon{display:inline-grid;place-items:center;width:35px;height:35px;background:var(--green);border-radius:10px;color:white;font:italic 26px var(--serif);letter-spacing:-4px;padding-right:4px}.brand-dot{color:#96a77b;margin-left:-8px}nav{display:flex;height:100%;gap:30px}.nav-button{background:none;border:0;font-weight:500;position:relative;padding:0 2px;color:var(--muted)}.nav-button.active{color:var(--ink)}.nav-button.active:after{content:'';position:absolute;bottom:0;height:3px;left:0;right:0;background:var(--green);border-radius:2px}.nav-button span{background:#ecefe7;font-size:11px;padding:3px 7px;border-radius:5px;margin-left:5px}.header-note{margin-left:auto;font-size:12px;color:#7d887b;display:flex;align-items:center;gap:8px}.header-note i{background:#a7b492;width:6px;height:6px;border-radius:50%}.layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:286px 1fr;min-height:calc(100vh - 88px)}aside{border-right:1px solid var(--line);padding:47px 28px 24px 40px;display:flex;flex-direction:column;background:#f3f5ee}.sidebar-heading,.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;color:#869174}aside h2{font-family:var(--serif);font-size:22px;font-weight:400;letter-spacing:-.6px;margin:14px 0 8px}aside>p{color:var(--muted);line-height:1.8;font-size:12px;margin:0 0 32px}label{display:block;font-size:11px;font-weight:600;margin:0 0 9px}select{border:1px solid #dce1d5;border-radius:7px;padding:12px 30px 12px 12px;background:#fafbf7;color:#435346;width:100%;font-size:11px;margin-bottom:23px;min-height:42px}select:focus{border-color:#8caa78}.direction-button{display:flex;justify-content:space-between;align-items:center;background:#e9efdf;border:1px solid #d9e1cd;border-radius:7px;padding:12px;font-size:12px}.swap{color:#859772;font-size:20px;line-height:16px}.direction-help{font-size:10px!important;margin:8px 0 28px!important;text-align:center}.sidebar-bottom{border-top:1px solid var(--line);display:flex;gap:11px;margin-top:auto;padding-top:24px;align-items:center}.tiny-book{font-size:23px;color:#98a583}.sidebar-bottom strong{font-size:10px;font-weight:500}.sidebar-bottom p{font-size:9px;color:#8a9286;margin:5px 0 0}main{padding:45px 64px 20px;max-width:1100px;width:100%;margin:auto}.intro{text-align:center;margin-bottom:34px}h1{font-family:var(--serif);font-weight:400;font-size:43px;letter-spacing:-1.7px;margin:13px 0}h1 em{color:#819366;font-weight:400}.intro p{color:var(--muted);font-size:13px}.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px}.mode-switch{display:flex;padding:4px;background:#eaede4;border-radius:8px;gap:3px}.mode-switch button{border:0;background:transparent;color:#7c8776;font-size:12px;padding:11px 18px;border-radius:5px;display:flex;gap:9px;align-items:center}.mode-switch button.selected{background:#fff;color:var(--ink);box-shadow:0 1px 4px #35462b0d}.mode-switch button span{font-size:17px;line-height:12px}.text-button{background:transparent;border:0;font-size:17px;color:#89917f;display:flex;gap:8px;align-items:center}.text-button span{font-size:11px}.session-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.3px;color:#8a9483;margin-bottom:11px}#counter{letter-spacing:0;color:#67765f;font-size:11px}.progress-track{background:#e7ebdf;height:4px;border-radius:4px;margin-bottom:20px;overflow:hidden}#progress{background:#91a878;height:100%;transition:width .25s}.flashcard{background:var(--paper);border:1px solid #e1e5db;border-radius:13px;min-height:326px;box-shadow:0 5px 12px #2f412208;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 38px;text-align:center}.card-top{display:flex;justify-content:space-between;align-items:center;position:absolute;top:22px;left:25px;right:25px}.badge{font-size:9px;background:#f1f4ea;border:1px solid #e5eada;border-radius:20px;padding:6px 10px;color:#7f8d70;letter-spacing:.3px}.card-number{font-size:10px;color:#b1b7a9}.language-tag{font-size:9px;text-transform:uppercase;letter-spacing:2px;color:#a5ae9e;margin-top:30px}.word{font:400 39px var(--serif);letter-spacing:-1px;margin:15px 0 12px;overflow-wrap:anywhere;max-width:100%}.prompt-hint{color:#a0a79c;font-size:12px;margin:0 0 26px}.primary{background:var(--green);border:1px solid var(--green);border-radius:7px;padding:13px 24px;color:white;font-size:12px;font-weight:500}.primary:hover{background:#214f3c}.primary .key{margin-left:15px;background:#ffffff17;border:1px solid #ffffff24;color:#d6e0cd;padding:2px 5px;border-radius:3px;font-size:9px}.answer{border-top:1px solid #e9ece4;padding-top:17px;width:min(100%,360px);margin-top:8px}.answer small{color:#9ba58f;letter-spacing:1.5px;text-transform:uppercase;font-size:9px}.answer h3{font-family:var(--serif);font-size:24px;font-weight:400;margin:9px 0 0}.card-note{color:#929988;font-size:10px;margin-top:12px}.rating-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.rating{padding:14px;border-radius:7px;font-size:12px;border:1px solid;display:flex;align-items:center;justify-content:center;gap:9px}.rating.no{background:#fbefec;border-color:#edd9d3;color:#af625a}.rating.yes{background:#eaf2e5;border-color:#d7e4ce;color:#57784a}.rating.no.selected{background:#a94944;color:#fff;border-color:#a94944}.rating.yes.selected{background:#4f7741;color:#fff;border-color:#4f7741}.rating small{font-size:9px;opacity:.6;margin-left:8px}.under-card{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:15px;min-height:40px}.under-card p{font-size:11px;color:#8d9787;margin:0}.next{padding:11px 20px}.session-footer{display:flex;align-items:center;justify-content:center;gap:24px;color:#89947e;font-size:10px;min-height:55px}.session-footer .dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:6px;background:#81a56a}.session-footer .dot.red{background:#d78b7f}.session-footer .divider{color:#d3d9cc}.keyboard-hint{display:block;text-align:center;color:#a5ad9c;font-size:10px;margin-top:10px}kbd{font:9px var(--sans);border:1px solid #dfe4d6;border-radius:3px;background:#f9faf5;padding:2px 5px}footer{margin-top:28px;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px;color:#a5ae9b}footer>span{letter-spacing:0}.footer-arrow{margin:0 8px;color:#bbc3b3}.test-form{width:min(100%,440px);text-align:left}.test-form label{font-size:10px;color:#8d9885;margin:8px 0}.test-input{width:100%;padding:14px 16px;font-size:16px;border:1px solid #d8e0cf;border-radius:6px;background:#fcfdf9;color:var(--ink)}.test-form .primary{display:block;margin:16px auto 0}.feedback{font-size:12px;border-radius:6px;padding:12px 15px;width:100%;margin-top:18px;line-height:1.6}.feedback.good{color:#47713d;background:#edf4e8}.feedback.bad{color:#a45951;background:#fbefeb}.results{padding:36px;background:#fff;border:1px solid var(--line);border-radius:13px;text-align:center}.result-icon{font:36px var(--serif);color:#829a64;background:#f0f4e5;border-radius:50%;width:68px;height:68px;margin:0 auto 20px;display:grid;place-items:center}.results h2{font:30px var(--serif);margin:12px 0}.results>p{color:var(--muted);line-height:1.6}.score{font:44px var(--serif);color:var(--green);margin:20px 0}.score small{font:16px var(--sans);color:#8c9882}.result-actions{display:flex;gap:10px;justify-content:center;margin:22px 0}.secondary{border:1px solid #dce3d3;background:#f0f4e8;border-radius:7px;padding:12px 20px;font-size:12px}.review-list{text-align:left;margin-top:30px;border-top:1px solid var(--line)}.review-list h3{font-size:13px}.review-row{padding:12px 0;border-bottom:1px solid #eef0e9;display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:12px}.review-row span{color:#6b7c61}.review-row small{display:block;font-size:10px;color:#b16e64;margin-top:5px}.library-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:15px 0 20px}.library-top h2{font:24px var(--serif);margin:0}.library-top p{font-size:12px;color:#88977b}.library-top input{padding:12px;background:#fff;border:1px solid var(--line);border-radius:6px;min-width:220px;font-size:12px}.source-note{font-size:11px;line-height:1.7;background:#edf1e6;border-radius:7px;padding:14px 18px;margin-bottom:23px;color:#7f8b73}.word-group h3{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#8a977e;margin-top:26px}.word-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-bottom:1px solid var(--line);padding:13px 5px;font-size:13px}.word-row span:last-child{color:#819074}.empty{padding:30px;text-align:center;color:#88977b}
@media(min-width:1500px){main{padding-top:60px}.flashcard{min-height:360px}}@media(max-width:1100px){header{padding:0 28px;gap:45px}.header-note{display:none}.layout{grid-template-columns:245px 1fr}aside{padding:40px 22px}main{padding:35px 30px 20px}h1{font-size:36px}.word{font-size:34px}}@media(max-width:750px){header{height:70px;padding:0 20px;gap:20px;justify-content:space-between}.brand{font-size:21px}nav{gap:16px}.nav-button{font-size:11px}.nav-button span{display:none}.layout{display:block}aside{border-right:0;border-bottom:1px solid var(--line);padding:18px 20px;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}aside h2,aside>p,aside>.sidebar-heading,aside>.sidebar-bottom,aside>label{display:none}aside select{margin:0;min-height:41px;font-size:11px}aside .direction-help{display:none}aside #chapter{grid-column:1}aside #section{grid-column:2}aside .direction-button{font-size:11px}main{padding:30px 20px 20px}.intro{margin-bottom:27px}h1{font-size:33px}.intro p{font-size:11px;line-height:1.7}.eyebrow{font-size:9px}.workspace-toolbar{margin-bottom:22px}.mode-switch button{padding:10px 13px;font-size:11px}.flashcard{padding:30px 20px;min-height:315px}.word{font-size:31px}.card-top{left:18px;right:18px}.rating small,.keyboard-hint{display:none}.rating{padding:14px 6px}.under-card p{font-size:10px}.library-top{display:block}.library-top input{width:100%;margin:10px 0}.results{padding:30px 20px}.result-actions{flex-wrap:wrap}footer{font-size:8px}.session-footer{gap:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.flashcard.tap-to-reveal{cursor:pointer}.flashcard.tap-to-reveal:hover{border-color:#b8c7a9}
