/* Lesson handouts are authored explanations. Raw OCR remains a separate source layer. */
.tb-grammar-mode .tb-title h1,.tb-grammar-mode .tb-title>.tb-small,.tb-grammar-mode #lesson-reading-progress{display:none}
.tb-grammar-mode .tb-title .tb-eyebrow{margin:12px 0 4px}.tb-grammar-mode .tb-stage{margin:14px 0}
.tb-grammar-paper.gr-paper{padding:36px clamp(20px,4vw,56px);font-size:16px;line-height:1.9}
.gr-paper>header,.gr-handout,.gr-existing-guides,.gr-pending,.gr-source-archive,.gr-corrections,.gr-paper>.tb-grammar-original{max-width:46rem;margin-left:auto;margin-right:auto}
.gr-paper>header{padding-bottom:26px}.gr-paper>header h2{font-size:29px;font-weight:650;line-height:1.55;letter-spacing:.01em;margin:9px 0 14px}
.gr-lead{color:var(--ink-2);margin:0 0 18px;font-size:16px;line-height:1.95}.gr-meta{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:0}.gr-meta span+span::before{content:"·";margin-right:18px;color:var(--line)}
.gr-outline{display:flex;gap:8px;flex-wrap:wrap;padding:20px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:8px}.gr-outline button{display:flex;gap:9px;align-items:baseline;text-align:left;font-size:13px;line-height:1.6;padding:8px 12px;border:1px solid var(--line);background:var(--card);border-radius:6px;color:var(--ink-2)}.gr-outline button span{font-size:10px;color:var(--accent);font-variant-numeric:tabular-nums}.gr-outline button:hover{border-color:var(--accent);background:var(--accent-wash)}
.gr-point{padding:36px 0;scroll-margin-top:150px}.gr-point+.gr-point{border-top:1px solid var(--line)}.gr-point-heading{display:flex;gap:15px;align-items:flex-start;margin-bottom:20px}.gr-number{flex:none;font-size:12px;font-variant-numeric:tabular-nums;color:var(--accent);border-top:2px solid var(--accent);min-width:25px;line-height:2.4;margin-top:3px}.gr-point-heading h3{font-size:22px;line-height:1.65;margin:0 0 7px;font-weight:650;overflow-wrap:anywhere}.gr-point-heading h3:focus{outline:none}.gr-point-heading h3:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.gr-meaning{font-size:16px;line-height:1.8;color:var(--ink-2);margin:0}
.gr-connection{display:flex;align-items:baseline;gap:15px;padding:12px 16px;background:var(--card-2,#f7f7fa);border-radius:6px;margin:0 0 19px;overflow-wrap:anywhere}.gr-connection>span{font-size:11px;color:var(--muted);flex:none;letter-spacing:.12em}.gr-connection p{margin:0;font-size:15px;line-height:1.9}.gr-explanation{margin:18px 0 22px;color:var(--ink-2)}
.gr-example{margin:18px 0;padding:18px 22px;background:color-mix(in srgb,var(--accent-wash) 28%,var(--card));border-left:2px solid var(--line);border-radius:0 6px 6px 0}.gr-example blockquote{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;font-size:21px;line-height:1.95;font-weight:400;letter-spacing:.02em;margin:0;overflow-wrap:anywhere;color:var(--ink)}.gr-example-zh{font-size:15px;line-height:1.85;margin:10px 0 0;color:var(--ink-2)}.gr-example figcaption{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;font-size:11px;line-height:1.8;color:var(--muted);margin-top:13px}.gr-example figcaption>span{margin-left:auto}.gr-example a,.gr-pairs a,.gr-corrections a{color:var(--accent)}
.gr-reading-note,.gr-context{margin:20px 0 0;display:grid;grid-template-columns:5em minmax(0,1fr);gap:14px;align-items:baseline}.gr-reading-note h4,.gr-context h4{font-size:12px;line-height:1.9;letter-spacing:.04em;color:var(--accent);font-weight:550;margin:0}.gr-reading-note p,.gr-context p{font-size:14px;line-height:1.95;color:var(--ink-2);margin:0}.gr-context h4{color:var(--muted)}
.gr-pairs{margin:22px 0;overflow:auto}.gr-pairs table{width:100%;border-collapse:collapse;font-size:15px}.gr-pairs caption{text-align:left;font-size:11px;color:var(--muted);margin-bottom:8px}.gr-pairs th,.gr-pairs td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.gr-pairs th{font-size:12px;font-weight:550;color:var(--muted);background:var(--card-2)}.gr-pairs td[lang="ja"]{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:18px}
.gr-existing-guides{padding:28px 0 0;border-top:1px solid var(--line)}.gr-existing-guides>h3{font-size:20px;margin:0 0 8px}.gr-legacy-point{padding:24px 0}.gr-legacy-point+.gr-legacy-point{border-top:1px solid var(--line)}.gr-legacy-point h4{font-size:20px;line-height:1.7;margin:0 0 14px}.gr-legacy-point>p{color:var(--ink-2)}.gr-guide-reminder{font-size:14px;color:var(--muted)}
.gr-pending{padding:22px 0 28px;border-top:1px solid var(--line)}.gr-pending h3{font-size:18px;margin:0 0 9px}.gr-pending p{font-size:14px;color:var(--ink-2);margin:8px 0}.gr-source-archive,.gr-corrections{border-top:1px solid var(--line);margin-top:28px;padding:20px 0}.gr-source-archive>summary,.gr-corrections>summary{cursor:pointer;font-size:14px;color:var(--ink-2);line-height:1.8}.gr-source-archive .tb-grammar-section{font-size:14px}.gr-source-archive .tb-grammar-section h3{font-size:18px}.gr-source-archive .tb-grammar-source-text{font-size:14px;line-height:1.95}.gr-corrections section{padding:16px 0}.gr-corrections h4{font-size:12px;font-weight:550;margin:0 0 12px}.gr-corrections dl{margin:0}.gr-corrections dl>div{display:grid;grid-template-columns:4em minmax(0,1fr);gap:12px;margin:8px 0}.gr-corrections dt{font-size:11px;color:var(--muted)}.gr-corrections dd{margin:0;font-size:14px;line-height:1.9;overflow-wrap:anywhere}.gr-corrections section>p{font-size:12px;color:var(--muted)}
@media(max-width:700px){.tb-grammar-paper.gr-paper{padding:26px 19px;font-size:15px}.gr-paper>header h2{font-size:25px}.gr-lead{font-size:15px}.gr-meta{gap:5px 12px}.gr-meta span+span::before{margin-right:12px}.gr-outline{gap:7px;padding:17px 0 20px}.gr-outline button{padding:7px 10px;font-size:12px}.gr-point{padding:28px 0;scroll-margin-top:145px}.gr-point-heading{gap:11px;margin-bottom:16px}.gr-number{min-width:20px;font-size:10px}.gr-point-heading h3{font-size:20px}.gr-meaning{font-size:15px}.gr-connection{display:block;padding:11px 13px}.gr-connection>span{display:block;margin-bottom:4px}.gr-connection p{font-size:14px}.gr-example{padding:15px 15px;margin:16px 0}.gr-example blockquote{font-size:19px;line-height:2}.gr-example-zh{font-size:14px}.gr-example figcaption>span{margin-left:0;width:100%}.gr-reading-note,.gr-context{display:block}.gr-reading-note h4,.gr-context h4{margin-bottom:5px}.gr-pairs th,.gr-pairs td{padding:9px 7px}.gr-pairs td[lang="ja"]{font-size:16px}.gr-pairs td:last-child{font-size:13px}}
@supports not (background:color-mix(in srgb,white,black)){.gr-example{background:var(--card-2,#fafafa)}}
