@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=Noto+Sans+SC:wght@400;500;700&display=swap";:root{color:#19322d;font-synthesis:none;background:#f7f4ec;font-family:DM Sans,Noto Sans SC,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 15%,#fff9d8 0,#0000 28%),radial-gradient(circle at 90% 80%,#d9efe8 0,#0000 30%),#f7f4ec;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5;background:#f7f4ecdb;border-bottom:1px solid #d9ded8;align-items:center;gap:28px;height:76px;padding:0 max(24px,5vw);display:flex;position:sticky;top:0}.brand{color:inherit;align-items:center;gap:10px;margin-right:auto;text-decoration:none;display:flex}.brand span{color:#19322d;background:#f5c84c;border-radius:12px;place-items:center;width:39px;height:39px;font-weight:800;display:grid}.brand b{font-size:18px}nav{background:#e7e9e2;border-radius:13px;padding:4px;display:flex}nav button,.logout{color:#53645f;background:0 0;border:0;border-radius:10px;padding:10px 17px}nav button.active{color:#19322d;background:#fff;box-shadow:0 2px 10px #19322d12}.logout{padding:8px}.app{max-width:980px;margin:0 auto;padding:60px 24px 100px}.eyebrow{letter-spacing:.16em;color:#38836e;font-size:12px;font-weight:700}.primary,.login button{color:#fff;background:#19322d;border:0;border-radius:13px;padding:15px 24px;font-weight:700}.primary:hover,.login button:hover{background:#285044}.primary:disabled,button:disabled{opacity:.6}.progress{color:#71817c;align-items:center;gap:20px;margin-bottom:55px;font-size:13px;display:flex}.progress i{background:#e0e4dc;border-radius:9px;flex:1;height:6px;overflow:hidden}.progress b{background:#f1bd35;border-radius:9px;height:100%;display:block}.lesson,.quiz,.complete,.empty,.overview-card{text-align:center;background:#fffefa;border:1px solid #e1e3dc;border-radius:30px;max-width:720px;margin:0 auto;padding:36px 50px 48px;box-shadow:0 25px 80px #30494013}.lesson h2{letter-spacing:-.04em;margin:18px 0 4px;font-size:62px}.lesson h3,.quiz h2{margin:28px 0 8px;font-size:32px}.ipa{color:#71817c}.audio{color:#246c58;background:#e2f1eb;border:0;border-radius:30px;margin:16px 0;padding:11px 16px}.audio span{margin-left:6px}.lesson blockquote{text-align:left;background:#f6f3e9;border-left:4px solid #f1bd35;border-radius:4px 14px 14px 4px;margin:30px 0;padding:20px;font-size:18px}.lesson blockquote small{color:#73817d;margin-top:8px;display:block}.quiz .sentence{font-size:28px;line-height:1.45}.quiz form{grid-template-columns:1fr auto;gap:12px;margin-top:36px;display:grid}.quiz input{border:2px solid #cfd9d5;border-radius:13px;outline:none;padding:16px 18px;font-size:20px}.quiz input:focus{border-color:#38836e}.correction{color:#8b4329;background:#fff0e7;border-radius:13px;margin-top:22px;padding:17px}.correction p{margin:5px 0 0}.complete>span{color:#27735d;background:#d9eee6;border-radius:50%;place-items:center;width:70px;height:70px;margin:0 auto 24px;font-size:34px;display:grid}.complete h2,.overview-card h2{font-size:34px}.listen{margin:25px 0}.summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin:30px 0;display:grid}.summary-grid div{background:#f4f3eb;border-radius:15px;padding:18px 8px}.summary-grid strong{font-size:30px;display:block}.summary-grid small{color:#71817c}.overview-card>.hint{max-width:520px;margin:0 auto 28px;line-height:1.7}.admin-head{justify-content:space-between;align-items:end;margin-bottom:32px;display:flex}.admin-head h2{margin:8px 0;font-size:42px}.admin-head p{margin:0}.count{text-align:right}.count strong{font-size:42px;display:block}.count span{color:#70807b}.panel,.library{background:#fffefa;border:1px solid #e1e3dc;border-radius:22px;margin-bottom:22px;padding:28px}.panel h3,.library h3{margin-top:0}.add-form{grid-template-columns:1fr 230px;align-items:stretch;gap:16px;display:grid}.add-form textarea{resize:vertical;border:1px solid #cfd8d3;border-radius:14px;min-height:116px;padding:15px}.hint{color:#77857f;margin-bottom:0;font-size:13px}.settings{flex-wrap:wrap;align-items:end;gap:20px;display:flex}.settings label{flex-direction:column;align-items:flex-start;gap:7px;font-size:13px;display:flex}.settings label span{color:#71817c}.settings input{border:1px solid #cfd8d3;border-radius:10px;width:150px;padding:10px}.settings input[type=number]{width:100px}.settings button,.word-row button{background:#fff;border:1px solid #cbd5d0;border-radius:10px;padding:10px 14px}.notice{background:#e0f0e9;border-radius:12px;padding:14px 18px}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title>div{align-items:baseline;gap:12px;display:flex}.section-title h3{margin-bottom:0}.section-title button{background:#fff;border:1px solid #cbd5d0;border-radius:10px;padding:10px 14px}.library-tools{grid-template-columns:1fr 180px;gap:12px;margin:22px 0;display:grid}.library-tools input,.library-tools select{background:#fff;border:1px solid #cfd8d3;border-radius:11px;padding:12px}.word-row{border-top:1px solid #e4e7e0;grid-template-columns:1fr auto;gap:14px;padding:18px 0;display:grid}.word-row.inactive{opacity:.58}.word-main{flex-direction:column;gap:5px;display:flex}.word-main small{color:#7a8883}.word-row strong{font-size:18px}.word-row span{color:#70807b;font-size:14px}.word-row.failed span{color:#a44f33}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:start;gap:7px;display:flex}.row-actions .danger{color:#a04431;border-color:#e8c5ba}.edit-grid{background:#f5f4ee;border-radius:14px;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px;padding:18px;display:grid}.edit-grid label{flex-direction:column;gap:5px;font-size:13px;display:flex}.edit-grid input{border:1px solid #cfd8d3;border-radius:8px;padding:10px}.edit-grid .wide{grid-column:1/-1}.edit-grid button{justify-self:start}.edit-actions{flex-wrap:wrap;grid-column:1/-1;gap:9px;display:flex}.parent-lock{background:#fffefa;border:1px solid #e1e3dc;border-radius:26px;max-width:480px;margin:40px auto;padding:42px;box-shadow:0 25px 80px #30494013}.parent-lock h2{margin:8px 0;font-size:34px}.parent-lock form{gap:14px;margin-top:28px;display:grid}.parent-lock label{gap:8px;display:grid}.parent-lock input{border:1px solid #cfd8d3;border-radius:11px;padding:14px}.parent-exit{background:#fff;border:1px solid #cbd5d0;border-radius:10px;padding:10px 14px}.parent-overview{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px;display:grid}.parent-overview>div{background:#fffefa;border:1px solid #e1e3dc;border-radius:17px;padding:20px}.parent-overview span{color:#71817c;font-size:13px;display:block}.parent-overview strong{margin-top:8px;font-size:31px;display:block}.parent-overview .attention{background:#fff5e5;border-color:#efd39a}.usage-panel{color:#fff;background:#19322d;border-radius:22px;grid-template-columns:1fr auto auto;align-items:center;gap:28px;margin-bottom:22px;padding:26px 30px;display:grid}.usage-panel h3{margin:4px 0}.usage-panel p{color:#c9d6d2;margin:0}.usage-numbers{text-align:right}.usage-numbers strong,.usage-numbers span,.usage-numbers small{display:block}.usage-numbers strong{font-size:30px}.usage-numbers small{color:#b9cac5}.usage-panel a{color:#19322d;background:#f5c84c;border-radius:11px;padding:11px 15px;font-weight:700;text-decoration:none}.settings-panel{grid-template-columns:220px 1fr;gap:28px;display:grid}.settings-panel>div p{color:#71817c;font-size:13px;line-height:1.6}.settings label>div{align-items:center;gap:7px;display:flex}.records{overflow:hidden}.record-list{display:grid}.record-list>div{border-top:1px solid #e5e7e1;grid-template-columns:1.4fr repeat(4,1fr) .8fr;align-items:center;gap:10px;padding:13px 0;display:grid}.record-list span{color:#71817c;font-size:13px}.record-list b{color:#9b5a41;font-size:12px}.record-list b.done{color:#357761}.edit-actions .danger{color:#a04431;border-color:#e8c5ba}.login{place-items:center;min-height:100vh;padding:24px;display:grid}.login section{background:#fffefa;border:1px solid #e0e4dd;border-radius:28px;width:min(440px,100%);padding:48px;box-shadow:0 30px 90px #334b421a}.login h1{font-size:38px;line-height:1.15}.login form{gap:15px;margin:30px 0;display:grid}.login label{gap:7px;display:grid}.login input{border:1px solid #cad5d0;border-radius:11px;padding:14px}.login a{color:#3a6f60}.error{color:#a6402e}.splash{place-items:center;min-height:100vh;font-size:24px;font-weight:700;display:grid}.spinner{border:3px solid #dfe5e1;border-top-color:#347864;border-radius:50%;width:32px;height:32px;margin:auto;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.report-audio{color:#9a553e;background:0 0;border:0;padding:8px;text-decoration:underline}.audio-hint{background:#f3f0e6;border-radius:13px;max-width:440px;margin:14px auto 0;padding:15px}.audio-hint span{color:#71817c;margin-right:10px;font-size:12px}.audio-hint strong{font-size:22px}.audio-hint p{color:#5f706b;margin:8px 0 0;font-size:13px}.word-row.has-audio-report{background:#fffaf0;border-radius:14px;margin:0 -14px;padding:18px 14px}.audio-review{background:#fff0d5;border:1px solid #f1cf8a;border-radius:13px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.audio-review p{color:#735c37;margin:5px 0 0;font-size:13px}.audio-review>div:last-child{align-items:center;gap:10px;display:flex}.audio-review .audio{margin:0}.report-cloze{color:#9a553e;background:0 0;border:0;padding:8px;text-decoration:underline}.report-confirmed{color:#397664;font-size:13px}.word-row.has-cloze-report{background:#fff8f2;border-radius:14px;margin:0 -14px;padding:18px 14px}.cloze-review{background:#ffede2;border:1px solid #efc5aa;border-radius:13px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.cloze-review p{color:#76513f;margin:5px 0 0;font-size:13px}.cloze-review>div:last-child{flex-shrink:0;gap:10px;display:flex}.row-actions .audio-compact{color:#246c58;background:#e2f1eb;border-color:#c9e2d9;margin:0}.row-actions .audio-compact span{color:inherit;font-weight:600}.word-row.needs-mastery{background:#fffaf1;border-radius:14px;margin:0 -14px;padding:18px 14px}.word-statuses{flex-wrap:wrap;gap:7px;margin-top:3px;display:flex}.word-row .word-statuses span{border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.word-statuses .history-error{color:#8f533b;background:#fff0e7}.word-statuses .needs-review{color:#8a4a24;background:#f8d9a7}.library-tools select{color:#29453e;font-weight:600}.brand-button{text-align:left;background:0 0;border:0;padding:0}.account-create{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.account-create label{gap:7px;display:grid}.account-create input,.account-row input{border:1px solid #ccd6d1;border-radius:10px;padding:12px}.account-create button{align-self:end}.family-list{gap:18px;display:grid}.family-card{background:#fffefa;border:1px solid #dfe4dc;border-radius:20px;padding:22px}.family-card.disabled{opacity:.62}.family-title,.account-row{justify-content:space-between;align-items:center;gap:15px;display:flex}.family-title{border-bottom:1px solid #e5e8e2;padding-bottom:12px}.family-title h3,.family-title p{margin:0}.family-title p{color:#71817c;margin-top:5px}.account-row{border-bottom:1px solid #edf0eb;flex-wrap:wrap;padding:14px 0}.account-row:last-child{border-bottom:0}.account-row strong,.account-row span{display:block}.account-row span{color:#71817c;margin-top:3px;font-size:13px}.account-row form{justify-content:flex-end;gap:8px;width:100%;display:flex}.account-row form input{width:min(320px,100%)}@media (width<=680px){header{flex-wrap:wrap;gap:8px;height:auto;padding:12px 16px}.brand b{display:none}nav{order:3;width:100%}nav button{flex:1}.app{padding:30px 14px}.lesson,.quiz,.complete,.empty,.overview-card{border-radius:22px;padding:25px 20px}.lesson h2{font-size:44px}.quiz form,.add-form,.library-tools,.account-create{grid-template-columns:1fr}.summary-grid,.parent-overview{grid-template-columns:1fr 1fr}.admin-head{align-items:start}.admin-head h2{font-size:34px}.edit-grid,.settings-panel,.usage-panel{grid-template-columns:1fr}.usage-numbers{text-align:left}.settings{flex-direction:column;align-items:stretch}.settings input,.settings input[type=number]{width:100%}.word-row{grid-template-columns:1fr}.row-actions{justify-content:flex-start}.record-list>div{grid-template-columns:1fr 1fr}.audio-review,.audio-review>div:last-child,.cloze-review,.cloze-review>div:last-child{flex-direction:column;align-items:stretch}}
