/* A practical, readable guide for beginner Japanese learners. */
.jlpt-guide-page .duo-guide-hero { background: #e4e9fc; }
.jlpt-guide-page h1 { max-width: 20ch; font-size: clamp(2.4rem, 4vw, 3.6rem); }
.jlpt-guide-mascot { width: min(100%, 320px); height: auto; justify-self: center; }
.jlpt-guide-body { max-width: 820px; margin: 40px auto; font-size: 1.1rem; line-height: 1.8; }
.jlpt-guide-body section, .jlpt-guide-app { margin: 44px 0; scroll-margin-top: 24px; }
.jlpt-guide-body h2 { font-size: clamp(1.9rem, 3vw, 2.6rem); }
.jlpt-guide-body a { color: #51259d; text-decoration: underline; text-underline-offset: 4px; }
.jlpt-guide-body li { margin-bottom: 14px; }
.jlpt-guide-body :is(ul,ol) { padding-inline-start: 26px; }
.jlpt-guide-toc { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 24px; background: #e6f0d6; border-radius: 24px; }
.jlpt-study-order { list-style: decimal-leading-zero; }
.jlpt-study-order li { padding-inline-start: 10px; margin-block: 24px; }
.jlpt-study-order li::marker { font-weight: 800; color: #6232b4; }
.jlpt-guide-references { font-size: .95rem; }
.jlpt-routine-table { overflow-x: auto; border: 1px solid #d4bee9; border-radius: 20px; }
.jlpt-routine-table table { width: 100%; border-collapse: collapse; font-size: 1rem; line-height: 1.65; }
.jlpt-routine-table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.jlpt-routine-table :is(th,td) { padding: 16px; text-align: start; vertical-align: top; border-bottom: 1px solid #d4bee9; }
.jlpt-routine-table thead { background: #e9e2fa; }
.jlpt-routine-table tbody tr:nth-child(even) { background: #f5f1fb; }
.jlpt-routine-table tbody th { width: 18%; }
.jlpt-routine-table tbody td:nth-child(2) { width: 18%; }
.jlpt-routine-table tr:last-child :is(th,td) { border-bottom: 0; }
.jlpt-guide-app { padding: 30px; border-radius: 28px; background: #e9e2fa; }
.jlpt-guide-app .kids-note { margin-bottom: 0; }
.jlpt-guide-body .kids-questions p { font-size: 1rem; }
@media (max-width: 900px) {
    .jlpt-guide-mascot { max-width: 230px; }
}
@media (max-width: 560px) {
    .jlpt-guide-body { font-size: 1.05rem; }
    .jlpt-routine-table :is(th,td) { padding: 12px 8px; }
    .jlpt-routine-table table { font-size: .9rem; }
    .jlpt-guide-app { padding: 24px 20px; }
}
