
:root{--ink:#19314b;--blue:#1967d2;--teal:#037f84;--orange:#d06500;--pink:#b52b7b;--bg:#f2f8ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Nunito,'Trebuchet MS',Arial,sans-serif;font-size:17px;line-height:1.55}button,input,textarea,select{font:inherit}main{max-width:1040px;margin:auto;padding:16px 15px 65px}header{border-radius:28px;background:linear-gradient(115deg,#d5ebff,#fff3ce,#fce3ef);padding:25px;box-shadow:0 8px 24px #173c6730}h1{font-size:clamp(30px,5.5vw,48px);line-height:1.12;color:#17488c;margin:9px 0}h2{font-size:clamp(23px,3.9vw,32px);line-height:1.2;margin:8px 0 14px}h3{font-size:clamp(19px,3.2vw,25px);line-height:1.3;margin:0 0 10px}.tagline{font-size:19px;font-weight:850;color:#9a2772}.muted{color:#526780}.small{font-size:14px}.navbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.btn,button{border:0;border-radius:14px;font-weight:850;min-height:49px;padding:10px 16px;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;text-decoration:none;color:white;background:#236ed1;box-shadow:0 3px 0 #155096}button:active,.btn:active{transform:translateY(2px);box-shadow:none}button:focus-visible,a:focus-visible{outline:4px solid #ffb800;outline-offset:2px}.btn.alt,button.alt{background:#7353b9;box-shadow:0 3px 0 #4b3387}.btn.white{background:#fff;color:#205b9c;box-shadow:0 3px 0 #bdd6f5}.btn.stop,button.stop{background:#a22f50;box-shadow:0 3px 0 #6f2035}button.explain{background:#ae3685;box-shadow:0 3px 0 #7f235f}button.repeat{background:#00877b;box-shadow:0 3px 0 #00665b}.box{background:white;border-radius:23px;padding:20px;margin:19px 0;border:2px solid #dbeafb;box-shadow:0 5px 22px #1741750d}.box.orange{border-color:#ffd69a}.box.pink{border-color:#ffc1e6}.step{display:inline-grid;place-items:center;color:white;background:#1e72cc;border-radius:12px;min-width:42px;height:40px;font-weight:900;font-size:22px;margin-right:8px}.step.pink{background:#b52b7b}.step.green{background:#00877b}.step.orange{background:#cc7506}.parts{display:flex;flex-direction:column;gap:17px}.part{border:2px solid #bce4fa;border-left:10px solid #2c83cb;border-radius:22px;background:#fff;padding:17px}.part:nth-child(even){border-color:#efc7e5;border-left-color:#b52b7b}.part .heading{font-size:23px;font-weight:900;color:#1c64a2;line-height:1.2}.part:nth-child(even) .heading{color:#a62970}.lesson-lesson{display:inline-block;background:#fff;color:#8d3275;padding:4px 12px;border-radius:99px;font-weight:900}.label{font-weight:900;color:#174b82;display:block;margin:10px 0 5px}.textarea{display:block;width:100%;min-height:115px;border:2px solid #b5cede;border-radius:14px;padding:13px;color:#182b40;background:#f8fcff;white-space:pre-wrap;resize:vertical}.textarea.note{background:#fff8fe;border-color:#eac5da}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 2px}.actions button{flex:1 1 160px}label{font-weight:850}select{padding:8px 12px;border:2px solid #bbd3eb;border-radius:10px;background:white}.speech-line{margin:12px 0;padding:12px 15px;background:#e9f5ff;border:2px solid #b8dcff;border-radius:12px;color:#164b7b;font-weight:700}.warning{background:#fff5df;border:2px solid #ffc365;color:#714714;padding:14px 17px;border-radius:14px;font-weight:700;margin:12px 0}.tip{background:#e6fbf6;border-radius:12px;padding:10px 14px;color:#006b5d}.original img{display:block;max-width:100%;height:auto;margin:auto;box-shadow:0 8px 26px #2439563d;border-radius:9px}.original{overflow:hidden}.badge{display:inline-block;background:#e7f0ff;color:#155a9c;padding:6px 10px;border-radius:99px;font-size:13px;font-weight:900;margin:3px}.index-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:8px}.index-grid a{background:white;color:#17488c;border:1px solid #cbe0f6;padding:11px;text-align:center;text-decoration:none;font-weight:900;border-radius:12px}.index-grid a:hover{background:#dff1ff}.footer{text-align:center;color:#62758b;font-size:13px;margin:35px auto}.progress{height:13px;background:white;border-radius:20px;overflow:hidden;margin:14px 0}.progress b{display:block;height:100%;background:linear-gradient(90deg,#22adce,#39ae70)}.hero-card{background:white;border-radius:19px;border:2px solid #d5e8fc;padding:16px;margin:10px 0}.hero-card a{font-size:20px}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:11px}summary{font-weight:900;cursor:pointer;color:#174b82;font-size:19px}@media(max-width:680px){.actions button{flex-basis:100%}.navbar .btn{flex:1 1 115px}.box{padding:15px}.part{padding:13px}h1{font-size:34px}.part .heading{font-size:21px}main{padding:12px 10px 55px}}
