/* Reuse the inspected HanziHero lesson/review structure in grammar.css.
   design/hanzihero-app/grammar-experience-reference.json records the reference. */
body:is([data-screen="jlpt-lesson"],[data-screen="jlpt-practice"]) .app-shell{max-width:none;padding:0;border:0}
body:is([data-screen="jlpt-lesson"],[data-screen="jlpt-practice"]) .app-header{display:none}
body:is([data-screen="jlpt-lesson"],[data-screen="jlpt-practice"]) main{padding:0 0 24px}
.jlpt-enabled .app-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.jlpt-enabled .app-nav-item{padding-left:2px;padding-right:2px}
.jlpt-enabled .app-nav-item span{font-size:10px}
.jlpt-home .intro{margin-bottom:20px}.jlpt-level select{font:600 16px/1.5 Inter,var(--my);min-height:48px;padding:8px 14px;border:1px solid var(--control-border);background:var(--white);color:var(--ink);border-radius:var(--button-radius)}
.jlpt-skill-tabs{gap:4px;padding:8px;margin:0;min-height:64px}
.jlpt-skill-tabs button{font-size:12px;padding:6px 4px;white-space:normal;line-height:1.9;max-width:none}
.jlpt-skill-tabs button[aria-selected="true"]::after{display:none}
.jlpt-lesson-row{gap:12px;align-items:flex-start!important}.jlpt-lesson-row>span:nth-child(2){flex:1;min-width:0}.jlpt-row-number{color:var(--muted);font:400 14px/2 var(--my);padding-top:2px}.jlpt-lesson-row .grammar-pattern{font:600 15px/2 var(--my)}.jlpt-lesson-row .grammar-row-title{line-height:2;font-size:13px}.jlpt-lesson-row .grammar-status{font-size:11px;white-space:nowrap;padding-top:6px}
.jlpt-hero{min-height:224px}.jlpt-hero h1{font:600 26px/1.9 var(--my);margin:8px 0;max-width:800px;text-wrap:balance}.jlpt-hero .hh-meaning{font-size:15px;font-weight:400}.jlpt-pane h3{font:600 17px/2 var(--my);margin-top:28px;color:var(--ink)}
.jlpt-pane-heading{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--control-border);margin-bottom:20px;padding-bottom:12px}.jlpt-pane-heading h2{border:0;padding:0;margin:0}.jlpt-furigana{min-height:40px;padding:6px 10px;font:500 12px/1.5 Inter,Arial,sans-serif;white-space:nowrap}.jlpt-furigana[aria-pressed="true"]{background:var(--surface-alt);color:var(--ink)}
.jlpt-content ruby{ruby-align:center;ruby-position:over}.jlpt-content rt{font:400 10px/1.3 var(--jp);color:var(--muted)}.jlpt-content[data-jlpt-furigana="off"] rt{display:none}.jlpt-question-hero rt{color:var(--white)}
.jlpt-passage{padding:20px 0;border-top:1px solid var(--panel-line);border-bottom:1px solid var(--panel-line);margin:0 0 20px}.jlpt-passage>.jp{font:400 20px/2.2 var(--jp);white-space:pre-line;overflow-wrap:anywhere;margin:0;color:var(--slate-text)}.jlpt-translation{font:400 14px/2.2 var(--my);padding-top:20px;margin-bottom:0}.jlpt-example-prompt{font-size:19px;line-height:2.1}.jlpt-example-answer{display:flex;gap:16px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--panel-line)}.jlpt-example-answer>span{font-size:13px;color:var(--muted)}.jlpt-example-answer>strong{font-size:20px;color:var(--ink)}.jlpt-pane .hh-example>p:last-child{font-size:15px;line-height:2.2}
.jlpt-sources{margin-top:32px;border-top:1px solid var(--panel-line);padding-top:12px;font-size:11px;line-height:2;color:var(--muted)}.jlpt-sources summary{cursor:pointer}.jlpt-sources p{font-size:11px;line-height:1.9}.jlpt-sources a{color:inherit;text-decoration:underline}
.jlpt-question-count{margin:0 0 8px;font:500 13px/1.5 Inter,var(--my)}.jlpt-question-hero .hh-question{font-size:25px}.jlpt-question-hero .jlpt-my-question{font:500 20px/2 var(--my)}.jlpt-practice .jlpt-practice-tools{display:flex;justify-content:flex-end;margin-bottom:16px}.jlpt-practice .grammar-options{display:flex!important;flex-direction:column}.jlpt-practice .grammar-option{border-right:0!important;text-align:left;padding:14px 40px;justify-content:flex-start}.jlpt-practice .grammar-option>.jp{font-size:20px;line-height:1.9}.jlpt-practice .grammar-feedback h2{font:600 17px/2 var(--my)}.jlpt-correct-answer{font-size:20px!important;font-weight:600;color:var(--ink)}.jlpt-practice .jlpt-next-question{margin-top:16px}
.jlpt-audio{padding:16px 0}.jlpt-audio-controls{display:flex;flex-wrap:wrap;gap:8px}.jlpt-audio-controls button{min-height:48px;font-size:14px;flex:1;white-space:nowrap}.jlpt-audio-status{font:400 13px/2 var(--my);margin:12px 0 0}.jlpt-audio-status:empty{display:none}.jlpt-transcript{margin:8px 0 24px;font-size:14px;line-height:2.1}.jlpt-transcript summary{cursor:pointer;color:var(--muted);padding:8px 0}.jlpt-transcript .jlpt-passage{margin-top:16px}.jlpt-results .actions{display:flex;flex-direction:column;gap:12px}.jlpt-results h1{font-family:Inter,var(--my)}
.jlpt-pane,.jlpt-practice .grammar-feedback{animation:hh-reveal 160ms ease-out both}
@media(min-width:640px){.jlpt-hero h1{font-size:36px}.jlpt-hero .hh-meaning{font-size:18px}.jlpt-question-hero .hh-question{font-size:30px}.jlpt-question-hero .jlpt-my-question{font-size:24px}.jlpt-passage>.jp{font-size:23px}.jlpt-enabled .app-nav-item span{font-size:12px}}
@media(max-width:350px){.jlpt-skill-tabs button{font-size:11px}.jlpt-hero h1{font-size:23px}.jlpt-hero .hh-meaning{font-size:14px}.jlpt-enabled .app-nav-item span{font-size:9px}.jlpt-pane-heading{gap:8px}.jlpt-pane-heading h2{font-size:20px}.jlpt-question-hero .jlpt-my-question{font-size:18px}}
@media(prefers-reduced-motion:reduce){.jlpt-pane,.jlpt-practice .grammar-feedback{animation:none}}

.jlpt-lesson-row>span:first-child{flex:0 0 16px}.jlpt-lesson-row>span:nth-child(2){flex:1;min-width:0}
