/* C9-08 — Scheduled Review and Practice. Semantic C9-01 palette, no grading engine. */
.c9-assessment,.c9-practice-page{display:grid;gap:20px;min-width:0;color:var(--c9-ink)}
.c9-assessment *,.c9-practice-page *{box-sizing:border-box}
.c9-assessment-title{min-width:0;margin-bottom:1px}
.c9-assessment-title h1{font:600 clamp(28px,3vw,38px)/1.16 var(--c9-display);letter-spacing:-.03em;margin:6px 0 9px}
.c9-assessment-title>p:last-child{margin:0;color:var(--c9-sub);font-size:14px;line-height:1.65;max-width:740px}
.c9-assessment-stats{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;
 border:1px solid var(--c9-line);border-radius:var(--c9-r);background:var(--c9-surface);overflow:hidden
}
.c9-review-complete .c9-assessment-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.c9-assessment-stat{display:grid;gap:6px;min-width:0;padding:19px 22px;border-right:1px solid var(--c9-line)}
.c9-assessment-stat:last-child{border-right:0}
.c9-assessment-stat strong{font:650 clamp(22px,2.5vw,31px)/1.2 var(--c9-ui);font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.c9-assessment-stat span{font-size:12px;color:var(--c9-sub);line-height:1.5}
.c9-assessment-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(285px,.75fr);align-items:start;gap:18px;min-width:0}
.c9-assessment-panel{
 min-width:0;padding:clamp(19px,2.25vw,29px);border:1px solid var(--c9-line);
 border-radius:var(--c9-r);background:var(--c9-surface)
}
.c9-assessment-panel h2{font:600 clamp(20px,1.9vw,25px)/1.3 var(--c9-display);margin:5px 0 17px}
.c9-assessment-selects{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.7fr);gap:13px}
.c9-assessment-selects label,.c9-practice-page :where(.guided-start-actions label,.practice-header label){
 display:grid;gap:8px;font-size:12px;font-weight:650;color:var(--c9-sub);min-width:0
}
.c9-assessment-selects select,.c9-practice-page :where(.guided-start-actions select,.practice-header select){
 width:100%;min-height:44px;border:1px solid var(--c9-line-strong);border-radius:var(--c9-r-sm);
 background:var(--c9-surface);color:var(--c9-ink);padding:9px 12px;font-size:13px;min-width:0
}
.c9-assessment-note{font:400 12px/1.65 var(--c9-ui);color:var(--c9-sub);margin:15px 0}
.c9-assessment-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:18px}
.c9-assessment-actions .c9-button{min-height:44px}
.c9-assessment-reasons{list-style:none;display:grid;gap:0;margin:0;padding:0}
.c9-assessment-reasons li{display:grid;gap:4px;padding:12px 0;border-top:1px solid var(--c9-line)}
.c9-assessment-reasons strong{font-size:12px;line-height:1.5}
.c9-assessment-reasons span{font-size:11px;color:var(--c9-sub);line-height:1.5}
.c9-assessment-extra{
 border:1px solid var(--c9-line);border-radius:var(--c9-r);
 background:var(--c9-surface);overflow:hidden
}
.c9-assessment-extra>summary{
 cursor:pointer;font-size:13px;font-weight:650;line-height:1.5;padding:17px 21px;
 color:var(--c9-ink)
}
.c9-assessment-extra>summary:hover{background:var(--c9-surface-2)}
.c9-assessment-extra>div{padding:15px 18px;border-top:1px solid var(--c9-line);min-width:0}
.c9-assessment-disclaimer{font-size:11px;line-height:1.6;color:var(--c9-muted);margin:0}
.c9-assessment-live{width:min(100%,890px);margin-inline:auto;padding:clamp(18px,3.5vw,35px)}
.c9-assessment-queue{
 display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
 font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--c9-sub)
}
.c9-assessment-progress{margin:15px 0 26px}
.c9-assessment-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:12px;color:var(--c9-sub)}
.c9-assessment-progress strong{font-variant-numeric:tabular-nums;color:var(--c9-ink)}
.c9-assessment-question{text-align:center;max-width:700px;margin:0 auto;padding:20px 0 23px}
.c9-assessment-hanzi{
 font:500 clamp(54px,7.5vw,95px)/1.35 var(--c9-hanzi-display);
 color:var(--c9-ink);letter-spacing:0;overflow-wrap:anywhere;margin:13px auto 17px
}
.c9-assessment-question h2{font:600 clamp(19px,2.2vw,26px)/1.35 var(--c9-display);margin:0}
.c9-assessment-response{max-width:700px;margin:0 auto;min-width:0}
.c9-assessment-response>.c9-assessment-note{margin:0 0 17px;text-align:center}
.c9-assessment-entry{width:min(100%,560px);margin-inline:auto}
.c9-assessment-entry label{font-size:13px;line-height:1.5}
.c9-assessment-entry input{width:100%;min-height:52px;padding:12px 15px;font-size:16px;border-radius:var(--c9-r-sm);background:var(--c9-surface);color:var(--c9-ink);border:1px solid var(--c9-line-strong)}
.c9-assessment-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.c9-assessment-choices .choice{
 width:100%;min-height:58px;text-align:left;padding:12px 14px;background:var(--c9-surface);
 color:var(--c9-ink);border:1px solid var(--c9-line);border-radius:var(--c9-r-sm);
 display:flex;align-items:center;gap:12px;line-height:1.5
}
.c9-assessment-choices .choice>span{
 display:grid;place-items:center;flex:none;width:27px;height:27px;font-size:12px;
 border:1px solid var(--c9-line);background:var(--c9-surface-2);border-radius:var(--c9-r-xs)
}
.c9-assessment-choices .choice.selected,.c9-assessment-choices .choice[aria-pressed=true]{
 border-color:var(--c9-accent);color:var(--c9-ink);background:var(--c9-accent-soft)
}
.c9-assessment-choices .choice:hover{border-color:var(--c9-accent)}
.c9-assessment-feedback{
 width:min(100%,700px);margin:0 auto;border-radius:var(--c9-r-sm);
 border:1px solid var(--c9-line);padding:clamp(15px,2.3vw,25px);
 background:var(--c9-surface-2);color:var(--c9-ink);line-height:1.6
}
.c9-assessment-feedback.correct{border-left:3px solid var(--c9-green)}
.c9-assessment-feedback.incorrect{border-left:3px solid var(--c9-accent)}
.c9-assessment-feedback h3{font:600 20px/1.3 var(--c9-display);margin:8px 0 12px}
.c9-assessment-feedback>p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.c9-assessment-reading{color:var(--c9-green)}
.c9-assessment-feedback .c9-assessment-actions{margin-top:19px}
.c9-assessment-endnote{
 display:flex;align-items:center;justify-content:space-between;gap:13px;flex-wrap:wrap;
 color:var(--c9-sub);font-size:11px;line-height:1.55
}
.c9-assessment-finish{width:min(100%,850px);margin-inline:auto}
.c9-assessment-finish p{line-height:1.65;color:var(--c9-sub);font-size:13px}
/* Native practice gets a clearer hierarchy without new answer paths. */
.c9-practice-page .c9-practice-continuity{
 display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
 gap:15px;border:1px solid var(--c9-line);border-left:3px solid var(--c9-green);
 border-radius:var(--c9-r);background:var(--c9-green-soft);padding:18px 21px
}
.c9-practice-continuity>div{flex:1 1 290px}
.c9-practice-continuity strong{font-size:13px}
.c9-practice-continuity p{color:var(--c9-sub);font-size:12px;line-height:1.55;margin:6px 0 0}
.c9-practice-page :where(.simple-panel,.practice-card,.guided-session,.guided-start,.practice-shortcuts,.practice-header){
 background:var(--c9-surface);border:1px solid var(--c9-line);border-radius:var(--c9-r);
 color:var(--c9-ink);min-width:0
}
.c9-practice-page :where(.guided-start,.practice-card,.guided-session,.practice-shortcuts){
 padding:clamp(18px,2.5vw,27px)
}
.c9-practice-page :where(.guided-start h2,.practice-card h2,.guided-session h2,.practice-shortcuts h2){
 font-family:var(--c9-display);letter-spacing:-.018em;line-height:1.33;color:var(--c9-ink)
}
.c9-practice-page :where(.guided-start p,.practice-shortcuts p,.guided-session p){
 line-height:1.62
}
.c9-practice-page .guided-start{
 display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.8fr);gap:20px;align-items:start
}
.c9-practice-page .guided-start-actions{display:grid;gap:12px}
.c9-practice-page .practice-header{
 display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:17px 20px
}
.c9-practice-page .practice-tabs{display:flex;flex-wrap:wrap;gap:7px;padding:10px 0}
.c9-practice-page .practice-tabs button{min-height:43px;border:1px solid var(--c9-line);border-radius:var(--c9-r-sm)}
.c9-practice-page .practice-tabs button[aria-pressed=true]{background:var(--c9-accent-soft);border-color:var(--c9-accent);color:var(--c9-accent)}
.c9-practice-page .practice-card{max-width:920px;margin-inline:auto;width:100%}
.c9-practice-page .practice-card .practice-hanzi,
.c9-practice-page .guided-session .practice-hanzi{
 font:500 clamp(35px,5vw,65px)/1.5 var(--c9-hanzi-display);letter-spacing:0;color:var(--c9-ink)
}
.c9-practice-page .choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.c9-practice-page .choice-list .choice{min-height:53px;border-radius:var(--c9-r-sm);border-color:var(--c9-line);text-align:left;background:var(--c9-surface);color:var(--c9-ink)}
.c9-practice-page .choice-list .choice:hover{border-color:var(--c9-accent)}
.c9-practice-page :where(.answer-entry input,.answer-entry textarea){
 width:100%;min-height:48px;border-radius:var(--c9-r-sm);background:var(--c9-surface);
 color:var(--c9-ink);border:1px solid var(--c9-line-strong);font-size:16px
}
.c9-practice-page :where(.reader-feedback,.lesson-guide){
 padding:15px 18px;border-radius:var(--c9-r-sm);background:var(--c9-surface-2);
 border:1px solid var(--c9-line);color:var(--c9-ink)
}
.c9-practice-page .guided-meta{
 display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;
 color:var(--c9-sub);font-size:12px;line-height:1.55
}
.c9-practice-page .progress-rail{min-height:6px;border-radius:4px;background:var(--c9-line);overflow:hidden}
.c9-practice-page .progress-rail>span{background:var(--c9-green)}
.c9-practice-page .story-assembled{min-height:60px}
.c9-practice-page :where(.button-row,.guided-start-actions){row-gap:9px}
.c9-practice-page .button-row button{min-height:44px}
.c9-practice-page .c9-assessment-extra>div{display:grid;gap:12px}
.c9-practice-page .c9-assessment-extra>div>section{margin:0}
.c9-practice-page .c9-practice-native-section{display:grid;gap:16px;min-width:0}
.c9-practice-page .c9-practice-section-label{font:700 11px/1.4 var(--c9-ui);letter-spacing:.07em;color:var(--c9-accent);margin:0}
@media(max-width:980px){
 .c9-assessment-columns{grid-template-columns:minmax(0,1fr)}
 .c9-practice-page .guided-start{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:700px){
 .c9-assessment,.c9-practice-page{gap:15px}
 .c9-assessment-stats,.c9-review-complete .c9-assessment-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .c9-assessment-stat{padding:14px 13px}
 .c9-assessment-stat:nth-child(2){border-right:0}
 .c9-assessment-stat:nth-child(-n+2){border-bottom:1px solid var(--c9-line)}
 .c9-assessment-stat strong{font-size:24px}
 .c9-assessment-panel{padding:18px 15px}
 .c9-assessment-selects{grid-template-columns:minmax(0,1fr)}
 .c9-assessment-hanzi{font-size:clamp(42px,13vw,72px)}
 .c9-assessment-question{padding:10px 0 20px}
 .c9-assessment-choices,.c9-practice-page .choice-list{grid-template-columns:minmax(0,1fr)}
 .c9-assessment-actions .c9-button{flex:1 1 auto}
 .c9-practice-page .guided-start{padding:17px 14px}
 .c9-practice-page .practice-card{padding:17px 14px}
 .c9-practice-page .practice-header{padding:15px 12px}
 .c9-practice-continuity{padding:15px!important}
}
@media(max-width:360px){
 .c9-assessment-panel{padding:16px 12px}
 .c9-assessment-queue{flex-direction:column;align-items:start}
 .c9-assessment-stat span{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
 .c9-assessment *,.c9-practice-page *{scroll-behavior:auto;transition:none}
}
