:root{--green:#58cc02;--green2:#46a302;--blue:#1cb0f6;--yellow:#ffc800;--red:#ff4b4b;--ink:#3c3c3c;--muted:#777;--line:#e5e5e5;--bg:#fff}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}a{text-decoration:none;color:inherit}.page{max-width:1160px;margin:0 auto;padding:28px 24px 80px}.topbar{height:72px;border-bottom:2px solid #eee;display:flex;align-items:center;gap:32px;padding:0 30px;position:sticky;top:0;background:white;z-index:20}.brand{font-weight:900;font-size:24px;color:var(--green);letter-spacing:.5px}.topbar nav{display:flex;gap:10px;flex:1}.topbar nav a{font-weight:800;color:#777;padding:12px 14px;border-radius:14px}.topbar nav a:hover{background:#f7f7f7}.stats{display:flex;gap:14px;font-weight:900}.pill{font-size:12px;background:#eee;padding:3px 7px;border-radius:99px}.grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:42px}.card{border:2px solid var(--line);border-bottom-width:5px;border-radius:18px;padding:20px;background:#fff}.side .card{margin-bottom:18px}.unit{margin:0 auto 36px;max-width:620px}.unit-head{background:var(--green);color:#fff;border-radius:18px;padding:20px 24px;margin-bottom:26px;box-shadow:0 5px 0 var(--green2)}.unit-head small{font-weight:900;opacity:.85}.unit-head h2{margin:6px 0 0;font-size:24px}.path{display:flex;flex-direction:column;align-items:center;gap:16px}.lesson-node{width:82px;height:74px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:28px;background:var(--green);color:#fff;box-shadow:0 7px 0 var(--green2);border:0;cursor:pointer;position:relative}.lesson-node.locked{background:#e5e5e5;color:#aaa;box-shadow:0 7px 0 #c9c9c9;cursor:not-allowed}.lesson-node.done{background:var(--yellow);box-shadow:0 7px 0 #d9a900}.lesson-node.current:after{content:'START';position:absolute;top:-40px;background:var(--ink);color:#fff;font-size:11px;padding:8px 10px;border-radius:10px}.node-title{font-weight:800;text-align:center;font-size:13px;color:#666;max-width:180px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:14px 20px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;background:var(--green);color:white;box-shadow:0 5px 0 var(--green2)}.btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--green2)}.btn.blue{background:var(--blue);box-shadow:0 5px 0 #168ac0}.btn.gray{background:#eee;color:#888;box-shadow:0 5px 0 #d0d0d0}.hero{max-width:760px;margin:40px auto}.hero h1{font-size:42px;margin:0 0 10px}.hero p{font-size:18px;color:#666}.login{max-width:430px;margin:90px auto}.login .brandbig{font-size:42px;color:var(--green);font-weight:900;text-align:center;margin-bottom:28px}.field{width:100%;padding:15px 16px;border:2px solid var(--line);border-radius:14px;font-size:16px;margin:7px 0 14px;background:#fafafa}.exercise{max-width:720px;margin:0 auto}.progress{height:16px;border-radius:99px;background:#eee;overflow:hidden;margin:20px 0 36px}.progress>i{display:block;height:100%;background:var(--green)}.prompt{font-size:25px;font-weight:900;margin:20px 0}.choice{display:block;border:2px solid var(--line);border-bottom-width:5px;border-radius:14px;padding:16px;margin:10px 0;font-weight:800;cursor:pointer}.choice:hover{background:#f8f8f8}.choice input{margin-right:10px}.feedback{margin-top:22px;padding:18px;border-radius:15px;font-weight:800}.feedback.ok{background:#d7ffb8;color:#3f8d00}.feedback.bad{background:#ffdfe0;color:#c72828}.speak{width:62px;height:58px;border-radius:16px;border:0;background:var(--blue);color:#fff;font-size:26px;box-shadow:0 5px 0 #168ac0;cursor:pointer}.kpi{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.kpi>div{flex:1;min-width:130px;background:#fafafa;border-radius:14px;padding:14px}.kpi b{font-size:24px;display:block}.muted{color:#777}.bigscore{font-size:58px;font-weight:900;color:var(--green)}.notice{background:#fff7d6;border:2px solid #ffe56b;border-radius:14px;padding:15px;margin:16px 0}.small{font-size:13px;color:#777}@media(max-width:850px){.grid{grid-template-columns:1fr}.side{order:-1}.topbar nav{display:none}.topbar{padding:0 16px}.stats{margin-left:auto;font-size:13px}.page{padding:20px 14px 70px}.hero h1{font-size:34px}}
