/* Kanji owns its layouts; theme colours come from the shared palette. */
.ma-kanji-page{margin:0;background:var(--ma-app-bg);color:var(--ma-text-strong);}
.ma-kanji-page>.shell{width:min(1100px,100%);margin:auto;padding:0 24px;box-sizing:border-box;}
.ma-kanji-main{max-width:960px;margin:24px auto 48px;}
.ma-kanji-main h1{font:800 clamp(2rem,4vw,2.7rem)/1.15 var(--ma-font-display);margin:0;}
.ma-kanji-main h2{font:750 clamp(1.3rem,3vw,1.7rem)/1.2 var(--ma-font-display);margin:0 0 16px;}
.ma-kanji-main p{line-height:1.6;}
.ma-kanji-main button,.ma-kanji-main input,.ma-kanji-main select{font:inherit;}
.ma-kanji-readings dd,.ma-kanji-mode__mark,.ma-kanji-feedback p,.ma-kanji-result-answers,.ma-kanji-caption{font-family:var(--ma-font-jp);}
.ma-kanji-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px;}
.ma-kanji-eyebrow{color:var(--ma-muted);font-size:.72rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;}
.ma-kanji-path{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}
.ma-kanji-level{display:grid;gap:5px;text-align:left;border:0;border-bottom:3px solid var(--ma-border);background:transparent;padding:12px 2px;color:var(--ma-text-strong);cursor:pointer;}
.ma-kanji-level strong{font-size:1.35rem;}.ma-kanji-level span{font-size:.8rem;}.ma-kanji-level small{color:var(--ma-muted);}
.ma-kanji-level[aria-pressed="true"]{border-color:var(--ma-results);}.ma-kanji-level:disabled{opacity:.48;cursor:default;}
.ma-kanji-course-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 24px;color:var(--ma-muted);font-size:.8rem;}
.ma-kanji-course-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:52px;align-items:start;margin-bottom:32px;}
.ma-kanji-intro__glyph{font:600 6rem/1.15 var(--ma-font-jp);color:var(--ma-results);margin-bottom:20px;}
.ma-kanji-intro>p{color:var(--ma-text-soft);max-width:34ch;font-size:.95rem;}
.ma-kanji-options{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;}
.ma-kanji-select{display:grid;gap:6px;flex:1 1 120px;font-size:.8rem;min-width:0;color:var(--ma-muted);}
.ma-kanji-select select{min-height:44px;width:100%;border:1px solid var(--ma-border);border-radius:10px;padding:8px;background:var(--ma-surface-inset);color:var(--ma-text-strong);}
.ma-kanji-mode{display:grid;grid-template-columns:36px minmax(0,1fr) 16px;gap:12px;align-items:center;width:100%;padding:18px 0;border:0;border-bottom:1px solid var(--ma-border);text-align:left;background:transparent;color:var(--ma-text-strong);cursor:pointer;}
.ma-kanji-mode>span:nth-child(2){display:grid;gap:6px;}.ma-kanji-mode strong{font-size:1rem;}.ma-kanji-mode>span:nth-child(2)>span{color:var(--ma-muted);font-size:.8rem;line-height:1.5;}
.ma-kanji-mode__mark{font-size:1.25rem;font-weight:750;color:var(--ma-results);}
.ma-kanji-tests{padding-top:18px;}.ma-kanji-tests h3{margin:0;}.ma-kanji-tests p{font-size:.8rem;color:var(--ma-muted);}
.ma-kanji-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0;}.ma-kanji-actions>.ma-button{flex:1 1 130px;}
.ma-kanji-text-button{border:0;padding:9px 0;min-height:44px;color:var(--ma-text-soft);background:transparent;text-decoration:underline;text-underline-offset:4px;cursor:pointer;}
.ma-kanji-sources{display:inline-block;color:var(--ma-muted);font-size:.75rem;padding:10px 0;}
.ma-kanji-session-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--ma-border);margin-bottom:28px;color:var(--ma-muted);font-size:.85rem;}
.ma-kanji-glyph{font:500 clamp(4rem,10vw,7.5rem)/1.35 var(--ma-font-jp);color:var(--ma-text-strong);overflow-wrap:anywhere;text-align:center;}
.ma-kanji-main[data-session] .ma-kanji-header{margin-bottom:12px;}
.ma-kanji-main[data-session] .ma-kanji-header h1{font-size:1.35rem;}
.ma-kanji-main[data-session] .ma-kanji-header .ma-kanji-eyebrow{display:none;}
.ma-kanji-lesson{display:grid;gap:12px;max-width:620px;margin:auto;}
.ma-kanji-lesson h2{margin:0;font-size:1.45rem;}
.ma-kanji-lesson p{margin:0;line-height:1.45;}
.ma-kanji-lesson-steps{list-style:none;display:flex;gap:16px;padding:0;margin:0;color:var(--ma-muted);font-size:.75rem;}
.ma-kanji-lesson-steps li{padding:5px 0;border-bottom:2px solid transparent;}
.ma-kanji-lesson-steps [aria-current]{color:var(--ma-text-strong);border-color:var(--ma-results);font-weight:750;}
.ma-kanji-lesson-hero{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:18px;}
.ma-kanji-lesson-hero>.ma-kanji-glyph{font-size:5.2rem;line-height:1.25;}
.ma-kanji-lesson-hero .ma-kanji-caption{text-align:left;margin-top:5px;}
.ma-kanji-spoken-word{display:grid;gap:6px;}
.ma-kanji-spoken-word>strong{font:600 1.6rem var(--ma-font-jp);}
.ma-kanji-spoken-word>span{font-size:.85rem;color:var(--ma-muted);}
.ma-kanji-focus-reading{font:600 1.5rem/1.3 var(--ma-font-jp);}
.ma-kanji-listen-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.ma-kanji-listen-row>.ma-kanji-text-button{font-size:.8rem;}
.ma-kanji-memory-cue{font-size:.93rem;color:var(--ma-text-soft);max-width:56ch;}
.ma-kanji-reading-family{display:flex;align-items:center;justify-content:space-between;gap:6px 12px;font-size:.76rem;color:var(--ma-muted);border-top:1px solid var(--ma-border);}
.ma-kanji-reading-family .ma-kanji-text-button{font-size:.76rem;flex:none;}
.ma-kanji-lesson-details{font-size:.8rem;color:var(--ma-text-soft);}
.ma-kanji-lesson-details summary{display:flex;align-items:center;min-height:44px;cursor:pointer;}
.ma-kanji-lesson-details p{margin:8px 0;font-family:var(--ma-font-jp);}
.ma-kanji-lesson-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;}
.ma-kanji-lesson[data-phase="recognise"],.ma-kanji-lesson[data-phase="reading"]{text-align:center;}
.ma-kanji-lesson>.ma-kanji-glyph{font-size:5rem;}
.ma-kanji-lesson .ma-kanji-choices{margin:4px 0;}
.ma-kanji-lesson>.ma-button{justify-self:center;min-width:180px;}
.ma-kanji-lesson .ma-pronunciation{justify-content:center;}
.ma-kanji-first-ten{margin:12px 0 28px;}
.ma-kanji-first-ten h2{margin:0 0 6px;}
.ma-kanji-first-ten>p{font-size:.85rem;color:var(--ma-muted);margin:6px 0;}
.ma-kanji-first-ten ol{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;padding:0;list-style:none;}
.ma-kanji-first-ten li{font:500 1.5rem/1.5 var(--ma-font-jp);text-align:center;border-bottom:3px solid var(--ma-border);}
.ma-kanji-first-ten li[data-learned="true"]{border-color:var(--ma-reading);}
.ma-kanji-mode:disabled{opacity:.5;cursor:default;}
.ma-kanji-readings{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;font-size:.95rem;line-height:1.65;}
.ma-kanji-readings dt{color:var(--ma-muted);font-size:.8rem;}.ma-kanji-readings dd{margin:0;overflow-wrap:anywhere;}
.ma-kanji-caption{font-size:.8rem;color:var(--ma-muted);text-align:center;}
.ma-kanji-question{max-width:600px;margin:auto;text-align:center;}.ma-kanji-question h2{font-size:1.1rem;}.ma-kanji-question>.ma-kanji-glyph{margin:20px 0;}
.ma-kanji-answer{display:grid;grid-template-columns:1fr auto;gap:10px;text-align:left;margin:24px auto 0;}
.ma-kanji-answer>label{grid-column:1/-1;font-size:.8rem;color:var(--ma-muted);}
.ma-kanji-answer>input{min-width:0;min-height:50px;border:1px solid var(--ma-border);border-radius:12px;background:var(--ma-surface-inset);color:var(--ma-text-strong);padding:10px 14px;box-sizing:border-box;font-size:1.1rem;}
.ma-kanji-answer>button{grid-column:2;grid-row:2;}.ma-kanji-input-preview{grid-column:1/-1;min-height:24px;color:var(--ma-muted);margin:0;font-family:var(--ma-font-jp);}
.ma-kanji-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0;}.ma-kanji-choice{min-height:64px;border:1px solid var(--ma-border);border-radius:14px;background:var(--ma-surface-inset);color:var(--ma-text-strong);padding:14px;cursor:pointer;}
.ma-kanji-feedback{padding:18px;border-radius:14px;background:var(--ma-surface-inset);border:1px solid var(--ma-border);}.ma-kanji-feedback[data-result="correct"]{border-color:var(--ma-reading);}.ma-kanji-feedback[data-result="incorrect"]{border-color:var(--ma-results);}.ma-kanji-feedback p{margin:8px 0;}.ma-kanji-feedback small{display:block;color:var(--ma-muted);}
.ma-kanji-continue{display:block;margin:24px auto 0;min-width:180px;}.ma-kanji-paused,.ma-kanji-recap{text-align:center;padding:50px 0;}.ma-kanji-recap-score{font-size:1.8rem;font-weight:800;}
.ma-kanji-resume{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 0 24px;border-bottom:1px solid var(--ma-border);margin-bottom:24px;}.ma-kanji-resume p{flex:1 1 200px;margin:0;}
.ma-kanji-main :is(button,a,input,select):focus-visible{outline:3px solid var(--ma-focus-ring);outline-offset:3px;}
@media(max-width:700px){.ma-kanji-page>.shell{padding:0 16px;}.ma-kanji-main{margin-top:12px;}.ma-kanji-course-layout{grid-template-columns:1fr;gap:30px;}.ma-kanji-intro{display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:8px 16px;}.ma-kanji-intro__glyph{grid-column:2;grid-row:1/3;font-size:4.5rem;margin:0;}.ma-kanji-intro h2{grid-column:1;grid-row:1;margin:0;}.ma-kanji-intro>p{grid-column:1;grid-row:2;margin:0 0 8px;}.ma-kanji-intro>.ma-button{grid-column:1/-1;justify-self:start;}.ma-kanji-options{grid-column:1/-1;margin-top:12px;}.ma-kanji-level span{font-size:.65rem;}.ma-kanji-level small{font-size:.65rem;}.ma-kanji-path{gap:8px;}.ma-kanji-session-bar{margin-bottom:12px;}.ma-kanji-first-ten ol{grid-template-columns:repeat(5,1fr);}.ma-kanji-lesson{gap:10px;}.ma-kanji-reading-family{align-items:start;}.ma-kanji-reading-family>span{padding-top:10px;}.ma-kanji-answer{grid-template-columns:1fr;}.ma-kanji-answer>button{grid-column:1;grid-row:auto;}.ma-kanji-answer>input{font-size:16px;}.ma-kanji-question>.ma-kanji-glyph{margin:12px 0;}.ma-kanji-question .ma-kanji-actions{justify-content:center;}.ma-kanji-readings{font-size:.85rem;}}
html[data-ma-large-text] .ma-kanji-path{grid-template-columns:repeat(3,minmax(0,1fr));}html[data-ma-large-text] .ma-kanji-choices{grid-template-columns:1fr;}

html[data-ma-large-text] .ma-kanji-lesson-hero{grid-template-columns:85px minmax(0,1fr);}html[data-ma-large-text] .ma-kanji-reading-family{flex-wrap:wrap;}
