:root{font-family:'Noto Sans SC',-apple-system,BlinkMacSystemFont,sans-serif;color:#243d34;background:#f6f4ec;font-synthesis:none;--green:#29634b;--muted:#7c897e;--line:#e3e6dc}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.48;cursor:wait}a{color:inherit}.shell{max-width:1000px;margin:auto;padding:28px 28px 110px}.brand{display:flex;align-items:center;gap:12px}.logo{width:44px;height:44px;border-radius:15px;background:#29634b;color:white;display:grid;place-items:center;font-size:24px}.brand b{font-size:20px;letter-spacing:2px}.brand small{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);margin-top:3px}.top{display:flex;align-items:center;justify-content:space-between}.connection{font-size:12px;color:#50765b}.dot{width:7px;height:7px;background:#6f9a60;border-radius:50%;display:inline-block;margin-right:6px}.hero{padding:44px 0 28px}.eyebrow{color:#88967e;letter-spacing:3px;font-size:11px;font-weight:700}h1{font-size:34px;line-height:1.4;margin:12px 0}h2{font-size:19px;margin:0}p{line-height:1.8;color:var(--muted);font-size:14px}.hero p{margin:7px 0}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.section-head{margin:28px 0 16px}.pill{padding:9px 17px;border-radius:24px;color:#6d7a70;background:#eaece3;font-size:13px}.pill.active{background:var(--green);color:#fff}.primary,.secondary,.danger{padding:13px 20px;border-radius:13px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:var(--green);color:#fff}.secondary{background:#eaf0e5;color:#356347}.danger{background:#f9ece6;color:#a74e3d}.text-button{background:none;color:var(--green);font-size:13px;padding:9px}.card{background:#fffef9;border:1px solid var(--line);border-radius:22px;padding:23px}.task-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.task-card{display:flex;flex-direction:column;gap:16px}.task-card h3{margin:4px 0 0;font-size:18px}.tag{font-size:11px;padding:5px 9px;border-radius:7px;display:inline-block;background:#e9efdf;color:#58713c}.tag.en{background:#e9eef7;color:#5b6e9b}.meta{color:var(--muted);font-size:12px}.task-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.empty{text-align:center;padding:42px 22px;border:1px dashed #cdd5c6;border-radius:22px;color:var(--muted)}.empty-icon{font-size:38px;display:block;margin-bottom:12px}.note{padding:16px 20px;border-radius:14px;background:#ecefe2;color:#677957;font-size:13px;line-height:1.8;margin:20px 0}.nav{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:5px;background:#fffef9eF;border:1px solid var(--line);box-shadow:0 8px 30px #243d3410;border-radius:23px;padding:8px;z-index:10;backdrop-filter:blur(15px)}.nav button{padding:13px 27px;border-radius:16px;background:none;color:#82907e;white-space:nowrap}.nav button.active{background:#eaf0e5;color:var(--green);font-weight:700}.field{margin:17px 0}.field label{display:block;margin-bottom:8px;font-size:13px;color:#667764}.input,textarea,select{width:100%;border:1px solid #dce2d4;border-radius:12px;background:#fffefb;padding:13px;color:#243d34;outline:none}.input:focus,textarea:focus{border-color:#68956c;box-shadow:0 0 0 3px #68956c12}textarea{min-height:180px;resize:vertical;line-height:1.8}.word-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.word{border:2px solid transparent;border-radius:14px;background:#fffef9;box-shadow:0 0 0 1px var(--line);padding:16px 12px;text-align:left;color:#243d34;min-width:0;overflow-wrap:anywhere}.word.selected{border-color:#438260;background:#eff6e9;box-shadow:none}.word strong{font-size:17px;display:block}.word small{font-size:11px;color:var(--muted);display:block;margin-top:6px}.counts{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.badge{font-size:10px;border-radius:5px;padding:3px 6px;background:#e9f0df;color:#5d7a48}.badge.wrong{background:#f9e9df;color:#b96343}.group-title{font-size:14px;margin:25px 0 13px}.sticky-action{position:sticky;bottom:105px;background:#fffef9f5;border:1px solid var(--line);border-radius:17px;padding:14px 18px;margin-top:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #243d340a}.study{text-align:center;max-width:620px;margin:25px auto}.study-main{padding:55px 25px}.speaker{width:100px;height:100px;background:#e9f0df;border-radius:50%;margin:20px auto 25px;display:grid;place-items:center;font-size:40px}.bigword{font-size:clamp(26px,6vw,44px);line-height:1.5;overflow-wrap:anywhere;margin:20px 0}.progress{height:6px;border-radius:4px;background:#e9ede1;margin:24px 0;overflow:hidden}.progress span{display:block;height:100%;background:#7a9b58;transition:width .3s}.wide{width:100%}.result-row{border-bottom:1px solid var(--line);padding:18px 0}.result-row:last-child{border:0}.result-word{font-size:18px;font-weight:600}.result-answer{font-size:13px;color:#73806f;margin:7px 0}.status-buttons{display:flex;gap:7px;margin-top:10px}.status-buttons button{padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:transparent;font-size:12px;color:#809078}.status-buttons button.chosen.correct{background:#e4f0db;color:#49743a;border-color:#9dbb87}.status-buttons button.chosen.wrong{background:#f9e4dc;color:#ae4b31;border-color:#dfa28e}.status-buttons button.chosen.pending{background:#fff2d6;color:#9a7c2d;border-color:#e5cc89}.photo-strip{display:flex;gap:8px;overflow:auto;margin:12px 0}.photo-strip img{height:110px;border-radius:10px;border:1px solid var(--line)}.loader{width:34px;height:34px;border:3px solid #dde7d3;border-top-color:#39704e;border-radius:50%;animation:spin 1s linear infinite;margin:20px auto}@keyframes spin{to{transform:rotate(360deg)}}#toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);background:#243d34;color:#fff;padding:13px 20px;border-radius:12px;z-index:100;font-size:13px;display:none;max-width:90%;box-shadow:0 8px 25px #0002}.footer{font-size:10px;color:#9ca693;text-align:center;margin-top:35px;letter-spacing:1px}.split{display:grid;grid-template-columns:1fr 1fr;gap:15px}.back{margin:22px 0 16px}.subtitle{font-size:13px;color:var(--muted)}.small{font-size:12px}.checkline{display:flex;gap:10px;align-items:center;font-size:13px;color:#6f816b}.checkline input{accent-color:var(--green)}.auth{max-width:470px;margin:70px auto}.preview-list{max-height:170px;overflow:auto;font-size:14px;line-height:2;color:#6a7b64}.upload{border:1px dashed #bdccad;border-radius:15px;padding:24px;text-align:center;background:#f5f8ee;cursor:pointer;display:block;color:#577947}.upload input{display:none}@media(max-width:640px){.shell{padding:20px 18px 105px}.hero{padding-top:33px}h1{font-size:28px}.task-grid{grid-template-columns:1fr}.word-grid{grid-template-columns:repeat(2,1fr)}.card{padding:20px}.nav{bottom:max(12px,env(safe-area-inset-bottom))}.nav button{padding:12px 20px}.connection{font-size:10px}.split{grid-template-columns:1fr}.study-main{padding:35px 20px}.sticky-action{bottom:95px}.brand b{font-size:18px}.primary,.secondary{padding:13px 16px}}
