/* User-approved purple palette. Keep structure, source pictures and semantic states. */
:root{--accent:#7749e6;--accent-dark:#5b32bd;--accent-soft:#f0eafe;--accent-line:#d8c9fb;--canvas:#f7f5fc;--soft:#f8f6fc;--line:#e8e2f2;--ink:#282137;--muted:#746b83;--blue:var(--accent);--blue-dark:var(--accent-dark);--blue-soft:var(--accent-soft);--blue-line:var(--accent-line)}
.reference-template :is(.bg-sky-600,[class~="hover:bg-sky-700"]:hover){background:var(--accent)}
.reference-template :is(.text-sky-600,.text-sky-700,.text-sky-800){color:var(--accent-dark)}
.reference-template :is(.bg-sky-50,[class~="hover:bg-sky-100"]:hover,[class~="hover:bg-sky-100/80"]:hover){background:var(--accent-soft)}
.reference-template :is(.border-sky-100,.border-sky-500){border-color:var(--accent-line)}
.reference-template .dialogue-row.sentence-selected{border-color:var(--accent);background:var(--accent-soft)}
.reference-template .audio-seek::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--accent) var(--played,0%),var(--line) var(--played,0%))}
.reference-template .audio-seek::-webkit-slider-thumb{background:var(--accent)}
.reference-template .audio-seek::-moz-range-thumb{background:var(--accent)}
.reference-template .audio-seek::-moz-range-track{background:var(--line)}
.transcript-target.transcript-active{background:var(--accent-soft);color:var(--accent-dark);box-shadow:inset 0 0 0 2px var(--accent-line)}
.transcript-disclosure summary,.shadowing-line,.shadowing-translation{border-color:var(--accent-line)}
.answer-option:has(input:checked){background:var(--accent-soft)}
.primary:hover{background:var(--accent-dark)}
.review-home-card:not(:disabled):hover,.secondary:hover,.tool:hover,.focusbtn:hover{background:var(--accent-soft)}
.home-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:28px;align-items:stretch}
.home-primary-card{min-width:0;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);margin:0}
.home-card-heading{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-dark);margin:0 0 18px;line-height:1.5}
.home-card-heading .ui-icon{width:18px;height:18px;flex-basis:18px}
.home-lesson-title{font-size:18px;font-weight:700;line-height:1.5;margin:0 0 6px}.home-primary-card .hint{font-size:13px;margin:0 0 18px}
.home-v2 .continue-card{display:flex;flex-direction:column;align-items:flex-start;gap:0}.home-v2 .continue-card progress{width:100%;height:7px;accent-color:var(--accent);margin:0 0 7px}.home-v2 .continue-card small{font-size:11px;color:var(--muted)}
.home-v2 .continue-card .recent-lesson{display:inline-flex;background:var(--accent);color:#fff;padding:10px 20px;min-height:44px;border:0;border-radius:999px;margin-top:20px;font-size:13px;font-weight:700}
.home-v2 .review-home-card{display:flex;align-items:flex-start;justify-content:flex-start;gap:0;min-height:230px;background:var(--surface);text-align:left}.home-v2 .review-home-card b{font-size:13px;color:var(--accent-dark);font-weight:750;margin-bottom:18px}.home-v2 .review-home-card .review-estimate{font-size:20px;font-weight:700;color:var(--ink);margin-bottom:12px}.home-v2 .review-home-card small{display:block;font-size:12px;line-height:1.7;color:var(--muted);margin-bottom:20px}
.home-v2 .review-start{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:700;font-size:13px;min-height:44px;padding:10px 20px;border-radius:999px;margin-top:auto}
.home-progress-card{grid-column:1/-1}.home-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-stat{display:flex;flex-direction:column;gap:8px;min-width:0}.home-stat+.home-stat{border-left:1px solid var(--line);padding-left:20px}.home-stat strong{font-size:25px;line-height:1.3;font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink)}.home-stat span{font-size:12px;line-height:1.5;color:var(--muted)}
.vocab-card{grid-template-columns:minmax(40px,56px) minmax(0,1fr)}.vocab-card img{max-width:100%}
@container lesson (max-width:600px){.home-v2{grid-template-columns:1fr;gap:14px}.home-primary-card{padding:18px}.home-v2 .review-home-card{min-height:210px}.home-progress-card{grid-column:auto}.home-stat-grid{gap:10px}.home-stat+.home-stat{padding-left:10px}.home-stat strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.home-v2 *{transition:none!important}}
