:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#253f35;background:#f8f7f2;font-synthesis:none;--green:#234c3e;--muted:#707970;--line:#dfe3d8}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c47c31;outline-offset:4px}.shell{max-width:1160px;margin:auto;padding:0 48px}header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-size:25px;font-weight:750;letter-spacing:-1px;display:flex;align-items:center;gap:9px}.brand-dot{color:#dc874c;margin-left:-9px}.brand-icon{font-size:37px}.header-note,.small{font-size:12px;color:var(--muted)}nav{position:absolute;top:36px;left:50%;display:flex;gap:24px;transform:translateX(-28%)}nav a{font-size:14px;text-decoration:none;padding:8px 0;color:var(--muted)}nav a.active{color:var(--green);border-bottom:2px solid var(--green)}.header-note{display:none}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;padding:62px 0 38px;align-items:center}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:#73816e;margin:0 0 18px}h1{font-family:Georgia,serif;font-size:58px;line-height:1.06;letter-spacing:-2px;font-weight:400;margin:0 0 22px}h1 em{color:#688457;font-weight:400}h2{font-size:23px;letter-spacing:-.5px;margin:0 0 12px}h3{font-size:18px}.lead{font-size:15px;line-height:1.8;color:#73786c;margin-bottom:25px}.primary,.secondary,.file-button{border:0;border-radius:12px;padding:17px 23px;font-weight:650;display:inline-block;min-height:48px}.primary{background:var(--green);color:white;box-shadow:0 3px 0 #173729}.primary:hover{background:#35624d}.secondary,.file-button{background:#f8f7f2;color:var(--green);border:1px solid #c8d2bf}.text-button{border:0;background:none;color:var(--green);padding:12px 0;font-size:14px;font-weight:650}.root-art{height:300px;position:relative;background:radial-gradient(ellipse,#e9eddd 0%,#eef0e3 47%,transparent 69%);text-align:center}.plant{position:absolute;top:65px;left:calc(50% - 65px);font-size:155px;color:#7b9566;line-height:1}.seed{position:absolute;bottom:15px;left:0;right:0;font:italic 16px Georgia,serif;color:#8c947c}.orbit{position:absolute;background:#fffdf7;border:1px solid #d9ddcb;box-shadow:0 8px 22px #44523b0c;z-index:1;padding:15px 25px;border-radius:14px;font:25px Georgia,serif;transform:rotate(-9deg)}.orbit small{font:11px system-ui;color:#8e947f}.o1{top:10px;left:25px}.o2{top:35px;right:0;transform:rotate(12deg);background:#edf0dc}.o3{bottom:38px;left:0;transform:rotate(-5deg);background:#f5e9d8}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:15px;background:#fdfcf8;margin:12px 0 44px;padding:23px 0}.stats>div{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:0 12px}.stats>div+div{border-left:1px solid var(--line)}.stats strong{font-size:26px}.stats strong small{font-size:15px;color:#a2a795;font-weight:400}.stats div>span:last-child{font-size:12px;color:var(--muted)}.stat-icon{color:#b99b55;font-size:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-heading .eyebrow{margin-bottom:10px}.pill{border:1px solid #dce2ce;border-radius:30px;padding:7px 12px;font-size:10px;color:#7a856e;display:inline-block}.home-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:28px}.units{display:flex;flex-direction:column;gap:12px}.unit{display:flex;align-items:center;gap:18px;text-align:left;background:#fdfcf8;border:1px solid var(--line);border-radius:14px;padding:22px;color:var(--green);width:100%}.unit:hover{border-color:#899d75}.unit.current{border-color:#9baa85;background:#eff2e6}.unit-number{width:45px;height:45px;flex-shrink:0;background:#edf0e4;border:1px solid #dce2d1;border-radius:50%;display:grid;place-items:center;font-size:16px}.current .unit-number{background:#36563d;color:white}.unit strong,.unit small,.unit>span>span{display:block}.unit small{font-size:9px;letter-spacing:1.5px;color:#8a937e;margin-bottom:7px}.unit strong{font-size:17px;margin-bottom:6px}.unit>span>span{font-size:12px;color:var(--muted)}.unit-arrow{margin-left:auto}.review-card{background:#e9efdf;border-radius:17px;padding:28px}.large-icon{font-size:35px;color:#6b8454}.review-card h2{font:26px/1.2 Georgia,serif;margin-top:14px}.review-card p,.note-card p,.settings-card p{font-size:14px;line-height:1.8;color:#737c6c}.note-card{padding:30px 12px}.note-card h3{font-family:Georgia,serif;font-weight:400;font-size:25px}.note-card>span{font-size:12px;color:#9b865f}footer{text-align:center;font-size:9px;letter-spacing:2px;color:#959d8d;padding:45px 0}.page-heading{padding:55px 0 15px}.page-heading h1{font-size:46px}.filters{display:flex;align-items:end;gap:18px;margin-bottom:25px}.filters label{font-size:12px;color:var(--muted)}.search{flex:1}.search span{display:block;margin-bottom:8px}input,select{width:100%;border:1px solid #cdd6c6;border-radius:10px;background:#fffdf8;padding:14px;color:var(--green);min-height:48px}select{margin-top:8px}.root-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.root-card{padding:24px;background:#fffdf8;border:1px solid var(--line);border-radius:14px}.root-card>div{display:flex;justify-content:space-between}.root-card h2{font:32px Georgia,serif;margin-top:16px}.root-card h3{font-size:15px;font-weight:500}.level{font-size:10px;color:#88917d}.examples{font-size:12px;color:var(--muted);line-height:1.8;min-height:44px}details{font-size:12px;line-height:1.7}summary{cursor:pointer;padding:8px 0}.settings-card{border:1px solid var(--line);background:#fffdf8;border-radius:15px;padding:28px;margin-bottom:20px}.actions{display:flex;gap:12px;flex-wrap:wrap}.file-button{cursor:pointer;position:relative}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-button:focus-within{outline:3px solid #c47c31}.study{max-width:650px;margin:35px auto;min-height:65vh}.study-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}progress{width:100%;height:9px;border:0;border-radius:10px;overflow:hidden;accent-color:#718e5c;margin:10px 0 40px}progress::-webkit-progress-bar{background:#e3e9d9}progress::-webkit-progress-value{background:#718e5c}.flashcard{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:330px;width:100%;border:1px solid #cdd6bb;border-radius:24px;background:#edf1e3;color:var(--green);padding:32px;margin-bottom:24px}.flashcard h1{margin:28px 0 15px;font-size:58px}.flashcard p{line-height:1.7}.flashcard .small{line-height:1.7;max-width:430px}.question{font-size:38px;line-height:1.25;margin:15px 0}.muted{color:var(--muted);line-height:1.6}.answers{display:grid;gap:12px;margin:30px 0}.answer{text-align:left;border:1px solid #d4dccb;border-radius:12px;padding:18px;background:#fffdf8;color:var(--green);display:flex;align-items:center;gap:14px}.answer span{font-size:12px;border:1px solid var(--line);padding:5px 9px;border-radius:7px}.answer:hover:not(:disabled){background:#edf1e3}.answer.correct{background:#e1eed5;border-color:#8ba873}.answer.incorrect{background:#f6e5da;border-color:#c59577}.feedback{padding:20px;background:#edf0e6;border-radius:12px;line-height:1.7;margin-bottom:24px;font-size:14px}.feedback p{margin-bottom:0}.completion{max-width:650px;margin:70px auto;text-align:center}.completion-icon{font-size:80px;color:#829663}.completion p{color:var(--muted);line-height:1.8}.chips{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:30px 0}.chips span{border:1px solid var(--line);padding:12px;border-radius:30px;font-size:13px}#notice:empty{display:none}#notice{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:#234c3e;color:white;padding:15px 20px;border-radius:12px;max-width:90%;width:max-content;z-index:5;font-size:13px;box-shadow:0 5px 20px #0002}
@media(min-width:1400px){.header-note{display:block}nav{transform:translateX(-50%)}}
@media(max-width:760px){.shell{padding:0 22px}header{height:78px}.brand{font-size:23px}nav{position:fixed;top:auto;bottom:0;left:0;right:0;transform:none;background:#fcfbf6f5;backdrop-filter:blur(10px);border-top:1px solid var(--line);justify-content:space-around;padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:3;gap:0}nav a{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:85px;font-size:22px}nav a span{font-size:11px}nav a.active{border-bottom:0;color:#234c3e;background:#edf0e4;border-radius:10px}.hero{padding-top:35px;gap:0;grid-template-columns:1fr}.hero h1{font-size:49px}.hero .lead{font-size:14px}.root-art{display:none}.eyebrow{font-size:9px;letter-spacing:1.7px}.stats{margin:0 0 33px;padding:19px 0}.stats>div{gap:5px;flex-direction:column}.stats strong{font-size:24px}.stats div>span:last-child{font-size:10px}.stat-icon{display:none}.section-heading h2{font-size:23px}.section-heading .pill{font-size:8px;padding:7px}.home-grid{grid-template-columns:1fr;gap:20px}.unit{padding:18px 16px;gap:12px}.unit strong{font-size:16px}.unit>span>span{font-size:11px}aside{display:grid;gap:10px}.review-card{padding:24px}.note-card{padding:18px 10px}.root-list{grid-template-columns:1fr}.filters{align-items:stretch;flex-direction:column;gap:10px}.page-heading h1{font-size:39px}.settings-card{padding:22px}.study{margin-top:20px}.question{font-size:33px}.flashcard{padding:25px 18px}.flashcard h1{font-size:48px}.completion{margin:40px auto}.completion h1{font-size:44px}footer{padding-bottom:115px}.primary{max-width:100%}.study .primary{width:100%}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}.flashcard{animation:appear .2s ease}@keyframes appear{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}}
.gloss{font:italic 18px Georgia,serif;color:var(--muted)}
.source{font:italic 14px/1.6 Georgia,serif;color:#6d7a64}
.parts{color:var(--muted);font-size:13px}
.feedback .parts{display:block;margin-top:6px}
.unit.fast .unit-number{border-style:dashed}
.chips span.missed{border-color:#c59577;background:#f6e5da}
dl{margin:6px 0 10px}
dt{font-weight:650;margin-top:10px}
dd{margin:2px 0 0}
dt.impostor{color:#9b5f3c}
.flashcard .source{margin:0 0 6px}
