.source-practice{margin:2rem 0;padding:clamp(1rem,3vw,2rem);border:1px solid #efd5df;border-radius:24px;background:#fffaf7;color:#453541}.source-practice h3{font-size:clamp(1.4rem,3vw,2rem);margin:0 0 .75rem}.source-lesson{background:#fff;border:1px solid #efd5df;border-radius:18px;margin:.8rem 0;padding:1rem}.source-lesson>summary{cursor:pointer;color:#ad3b68;font-weight:700;line-height:1.6}.source-lesson p,.source-lesson li{line-height:1.75;overflow-wrap:anywhere}.source-example{background:#fff3f7;border-radius:14px;padding:.8rem 1rem;margin:1rem 0}.source-example p:first-child{font-size:1.2rem;font-weight:650}.source-lesson button,.source-lesson>a{display:inline-flex;align-items:center;min-height:44px;padding:.6rem 1rem;border:1px solid #e7bfce;border-radius:999px;background:#fbe6ef;color:#85324f;font:inherit;cursor:pointer;text-decoration:none}.source-lesson>a{margin-top:1rem}.source-lesson input{display:block;max-width:100%;width:22rem;padding:.7rem;border:1px solid #dcaec0;border-radius:12px;font:inherit}.source-lesson :focus-visible{outline:3px solid #9c4164;outline-offset:3px}.source-credits{font-size:.8rem;line-height:1.6}.word-card ruby{ruby-position:over}.word-card rt{font-size:.5em;font-weight:400}.word-card h3{line-height:2}.kanji-variant-note{font-size:.8rem;line-height:1.5}
