:root{--ink:#193e35;--green:#186454;--pale:#e8f1de;--bg:#f6f5ef;--muted:#687971}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"PingFang SC",sans-serif}header{max-width:1080px;margin:auto;padding:26px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d9dfd4}header span{font-size:12px;letter-spacing:2px;color:var(--muted)}.brand{font-size:20px;font-weight:800;text-decoration:none;color:var(--ink)}main{max-width:1000px;margin:auto;padding:30px 28px}.intro{display:flex;align-items:center;justify-content:space-between;padding:12px 0 28px}.eyebrow{font-size:13px;letter-spacing:2px;color:var(--muted)}h1{font-size:clamp(29px,4.6vw,48px);letter-spacing:-1px;margin:15px 0}h1 em{font-style:normal;color:var(--green)}p{line-height:1.8;color:var(--muted)}.plant{font-size:84px;text-align:center;transform:rotate(4deg);padding-right:35px}.plant small{display:block;font-size:12px}.toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:13px;margin-bottom:22px}.toolbar label{display:flex;gap:9px;align-items:center}select{padding:8px;border:1px solid #cbd9c8;border-radius:9px;background:white;color:var(--ink)}button,.filebtn{font:inherit;cursor:pointer;border:1px solid #cbd9c8;border-radius:12px;padding:12px 18px;background:#fff;color:var(--ink);min-height:44px;transition:background .15s,transform .15s}button:hover{background:#eaf1e5}button:active{transform:scale(.98)}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d19120;outline-offset:3px}.quiet{padding:6px 12px;background:transparent;margin-left:auto;font-size:12px}nav{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0 26px;background:#e9ece3;padding:6px;border-radius:16px}nav button{border:0;background:transparent;font-size:14px;padding:12px 6px}nav button.active{background:var(--green);color:white;box-shadow:0 3px 8px #18645420}nav b{display:inline-block;padding:0 5px;background:#ffffff25;border-radius:6px}.sectiontop{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sectiontop h2{font-size:20px;margin:0}.sectiontop span{font-size:13px;color:var(--muted)}.progress{height:5px;background:#dfe7da;border-radius:8px;margin-bottom:22px}.progress i{display:block;height:100%;background:#78a769;border-radius:8px}.study{display:grid;grid-template-columns:1fr 240px;gap:22px}.card{width:100%;min-height:290px;background:#fffdf6;border:1px solid #d8dfcf;border-radius:24px;box-shadow:0 10px 24px #243e3010;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px}.emoji{font-size:58px}.word{font-size:clamp(30px,5vw,46px);font-weight:750;margin:14px 0 8px;letter-spacing:.5px}.card small{color:var(--muted);margin-top:15px}.hint{font-size:14px;line-height:1.8;text-align:center;color:var(--muted)}.listen{display:flex;gap:10px;justify-content:center;margin:16px 0}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#114f42}.actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.side{background:var(--pale);border-radius:22px;padding:22px}.side h3{margin:0 0 12px;font-size:16px}.side p{font-size:14px}.wordlist{display:flex;flex-wrap:wrap;gap:8px}.wordlist button{font-size:13px;padding:8px 11px}.wordlist .selected{border:2px solid var(--green);padding:7px 10px}.sentence{background:#fffdf7;border:1px solid #dbe2d1;border-radius:20px;padding:24px;margin:14px 0}.sentence h3{font-size:22px;line-height:1.65;margin:10px 0}.sentence .number{font-size:12px;color:var(--green);letter-spacing:2px}.chunks{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chunks button{font-size:14px;background:#edf2e6;text-align:left}.quiz{background:#fffdf7;border:1px solid #d8dfcf;border-radius:24px;padding:32px;text-align:center}.quiz input{display:block;width:min(100%,480px);margin:20px auto 14px;border:2px solid #b9cdb8;border-radius:14px;font-size:25px;padding:15px;text-align:center;background:white;color:var(--ink)}.feedback{min-height:52px;font-size:16px;line-height:1.7;margin:18px 0}.good{color:#186454}.bad{color:#a84925}.empty{padding:45px;text-align:center;background:var(--pale);border-radius:24px}.empty h2{font-size:24px}footer{margin-top:38px;font-size:12px;border-top:1px solid #d9dfd4;padding-top:16px}details{margin-top:18px}summary{cursor:pointer}footer button,.filebtn{font-size:12px;display:inline-flex;align-items:center}.filebtn input{display:none}#audioStatus{color:var(--muted)}@media(max-width:650px){header{padding:18px}header span{font-size:10px;letter-spacing:0}.brand{font-size:17px}main{padding:22px 16px}.plant{font-size:48px;padding:0}.plant small{display:none}.intro p{font-size:13px}.study{grid-template-columns:1fr}.side{padding:18px}.card{min-height:270px}.toolbar{gap:10px}nav{grid-template-columns:repeat(2,1fr)}.quiz{padding:24px 16px}.sentence{padding:20px}.sentence h3{font-size:19px}.sectiontop span{font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
nav{grid-template-columns:repeat(4,1fr)}.route{display:flex;gap:18px;background:#e8f1de;border-radius:14px;padding:16px;margin:0 0 24px;font-size:13px;line-height:1.8}.toolbar #audioStatus{width:100%;min-height:20px}.toolbar .quiet{margin-left:auto}.word{overflow-wrap:anywhere;text-align:center}.card .word{font-size:clamp(25px,4vw,38px)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.filters button.active{background:#186454;color:white}.memo{border-left:3px solid #a7bd77;padding:10px 14px;margin:14px 0;text-align:left;background:#f0f4e6;line-height:1.85;font-size:14px}.side{max-height:480px;overflow:auto}.study{grid-template-columns:minmax(0,1fr) 260px}.sentence .chunks{display:grid;grid-template-columns:1fr 1fr}.chunk{padding:12px;background:#edf2e6;border-radius:12px;line-height:1.6}.chunk strong{display:block;font-size:16px}.chunk span{display:block;font-size:13px;color:var(--muted);margin:5px 0}.chunk button{font-size:12px;padding:6px 10px;min-height:36px}.launch{padding:30px;background:#fffdf7;border:1px solid #d8dfcf;border-radius:22px}.launch h2{margin-top:0}.launch label{display:block;margin:16px 0;line-height:1.8}.launch select{margin:5px 10px;max-width:100%}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:650px;margin:24px auto}.choices button{min-height:68px;font-size:19px;overflow-wrap:anywhere}.choices button.chosen{outline:3px solid #186454}.quiz textarea{display:block;width:100%;max-width:700px;margin:20px auto 14px;border:2px solid #b9cdb8;border-radius:14px;font:inherit;font-size:22px;line-height:1.6;padding:15px;resize:vertical;color:var(--ink)}.questionText{font-size:23px;line-height:1.8;overflow-wrap:anywhere}.empty .actions{margin-top:20px}.wrongrow{padding:18px;border-bottom:1px solid #d8dfcf;line-height:1.7}.wrongrow strong{display:block;overflow-wrap:anywhere}.wrongrow p{margin:5px 0;font-size:14px}.resultscore{font-size:58px;color:var(--green);font-weight:800}.resultlist{background:#fffdf7;border-radius:20px;margin-top:20px;overflow:hidden}.resultlist summary{padding:18px}.badge{font-size:12px;background:#e8f1de;padding:5px 9px;border-radius:8px}.sentence h3,.hint{overflow-wrap:anywhere}button[hidden]{display:none}#app{scroll-margin-top:10px}.filebtn:focus-visible{outline:3px solid #d19120}.quiz small{display:block;line-height:1.7;color:var(--muted)}@media(max-width:650px){.study{grid-template-columns:1fr}.side{max-height:270px}.route{display:block}.route b{display:block}.sentence .chunks{grid-template-columns:1fr}.launch{padding:22px 16px}header{gap:15px}header span{max-width:130px;text-align:right;line-height:1.5}nav{grid-template-columns:repeat(4,1fr)}nav button{font-size:12px;min-height:48px}.questionText{font-size:19px}.choices button{font-size:16px;padding:12px 8px}.quiz textarea{font-size:19px}.intro{align-items:flex-start}.plant{font-size:40px}.intro p{font-size:12px}.sectiontop{gap:12px}.sectiontop h2{font-size:18px}}
