*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f4f7fb;color:#1f2937}a{color:#2563eb;text-decoration:none}header{background:#111827;color:#fff;padding:14px 24px;display:flex;align-items:center;gap:22px;min-height:62px}header b{white-space:nowrap}header nav{display:flex;gap:6px}header nav a{color:#cbd5e1;padding:8px 10px;border-radius:7px}header nav a:hover,header nav a.active{background:#1f2937;color:#fff}header span{margin-left:auto}header form{margin:0}header button{border:0;border-radius:8px;background:#2563eb;color:#fff;padding:9px 14px;cursor:pointer}main{max-width:1100px;margin:36px auto;padding:0 20px}.form-main{max-width:720px}.card{background:#fff;border-radius:14px;padding:26px;box-shadow:0 8px 30px rgba(0,0,0,.07);margin-bottom:22px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:430px}.muted{color:#6b7280}.login-card label,.card form label{display:block;margin:16px 0 6px;font-weight:600}.login-card input,.card form input{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:15px}.card form small{display:block;color:#6b7280;margin-top:5px}.login-card button{width:100%;margin-top:20px;font-weight:bold}.alert{padding:11px 13px;border-radius:8px;margin:12px 0 18px}.alert-error,.login-card .alert{background:#fee2e2;color:#991b1b}.alert-success{background:#dcfce7;color:#166534}.test-box{background:#f3f4f6;margin-top:20px;padding:14px;border-radius:8px;line-height:1.7}.page-title{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.page-title h1{margin:0 0 5px}.page-title p{margin:0}.btn{display:inline-block;border:0;border-radius:8px;background:#2563eb;color:#fff;padding:11px 16px;cursor:pointer;font-size:14px}.btn-secondary{background:#e5e7eb;color:#111827}.form-actions{display:flex;gap:10px;margin-top:22px}.form-actions .btn{width:auto}.table-card{padding:0;overflow:hidden}table{width:100%;border-collapse:collapse}th,td{padding:14px 16px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:middle}th{background:#f9fafb;font-size:13px;color:#4b5563}tr:last-child td{border-bottom:0}.actions{white-space:nowrap}.actions>a,.actions .link-button{margin-right:12px}.inline-form{display:inline}.link-button{background:none;border:0;color:#2563eb;padding:0;cursor:pointer;font:inherit}.empty{text-align:center;color:#6b7280;padding:28px}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}.badge-active{background:#dcfce7;color:#166534}.badge-inactive{background:#e5e7eb;color:#4b5563}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.stat-card{background:#fff;border-radius:14px;padding:22px;box-shadow:0 8px 30px rgba(0,0,0,.06)}.stat-card strong{font-size:30px;display:block}.stat-card span{color:#6b7280}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title h2{margin:0 0 10px}.mini-list a{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e5e7eb;color:#1f2937}.mini-list a:last-child{border-bottom:0}.mini-list small{display:block;color:#6b7280;margin-top:3px}.info-row{display:flex;justify-content:space-between;background:#f9fafb;padding:12px;border-radius:8px;margin-top:16px}@media(max-width:760px){header{flex-wrap:wrap;padding:12px 16px}header span{display:none}header nav{order:3;width:100%}main{margin-top:24px}.page-title{align-items:flex-start}.stat-grid{grid-template-columns:1fr}.table-card{overflow-x:auto}table{min-width:760px}}

select,textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font:inherit;background:#fff}textarea{resize:vertical}.filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) 180px 160px auto auto;gap:10px;background:#fff;padding:14px;border-radius:12px;margin-bottom:18px;box-shadow:0 5px 20px rgba(0,0,0,.05)}.filter-bar input,.filter-bar select{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px}.filter-bar .btn{padding:10px 15px;text-align:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.table-note{display:block;color:#6b7280;margin-top:4px}.card form select,.card form textarea{margin-top:0}@media(max-width:760px){.filter-bar{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}

.selection-box{border:1px solid #e5e7eb;border-radius:10px;padding:12px;margin-top:6px;max-height:300px;overflow:auto}.selection-tools{padding:3px 4px 10px;border-bottom:1px solid #eee;margin-bottom:5px}.check-row{display:flex!important;gap:10px;align-items:center;margin:0!important;padding:9px 5px;border-bottom:1px solid #f3f4f6;font-weight:400!important}.check-row input{width:auto!important;margin:0}.more-options{margin-top:20px;border-top:1px solid #e5e7eb;padding-top:15px}.more-options summary{cursor:pointer;font-weight:700;color:#2563eb}.word-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.word-chip{padding:12px;background:#f9fafb;border-radius:9px}.word-chip strong,.word-chip span{display:block}.word-chip span{color:#6b7280;margin-top:4px}.btn-danger{background:#b91c1c}.btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:760px){.word-grid{grid-template-columns:1fr 1fr}}

.question-preview-list{display:grid;gap:12px}.question-preview{border:1px solid #e5e7eb;border-radius:10px;padding:15px;background:#fcfcfd}.question-meta{font-size:12px;color:#6b7280;margin-bottom:7px}.preview-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.preview-options span{background:#f3f4f6;padding:7px 10px;border-radius:8px;font-size:14px}.preview-options .correct-option{background:#dcfce7;color:#166534;font-weight:700}.answer-preview{margin-top:10px;font-size:13px;color:#4b5563}

.soft-rule{border:0;border-top:1px solid #e5e7eb;margin:18px 0}.assignment-cards{display:grid;gap:14px}.assignment-card{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:14px;padding:20px;text-decoration:none;color:#111827;box-shadow:0 5px 20px rgba(0,0,0,.05);border:1px solid transparent}.assignment-card:hover{border-color:#bfdbfe}.assignment-card h2{margin:8px 0 4px}.assignment-card p{margin:0;color:#6b7280}.assignment-due{color:#2563eb;font-weight:700}.child-assignment-hero{text-align:center;margin-top:18px}.child-assignment-hero h1{margin-bottom:6px}@media(max-width:650px){.assignment-card{align-items:flex-start;flex-direction:column;gap:12px}}

.child-welcome{padding:16px 2px 8px}.child-welcome h1{font-size:34px;margin:0 0 4px}.child-welcome p{margin:0;color:#6b7280}.child-task-card{min-height:120px}.learn-main{max-width:760px}.learn-header{text-align:center;margin:22px 0}.learn-header span{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#2563eb;font-weight:700}.learn-header h1{margin:7px 0}.learn-cards{display:grid;gap:22px}.learn-card{min-height:430px;background:#fff;border-radius:20px;padding:34px;box-shadow:0 10px 35px rgba(0,0,0,.07);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;scroll-margin-top:20px}.learn-number{align-self:flex-start;color:#9ca3af;font-size:13px}.learn-word{font-size:54px;font-weight:800;margin-top:auto}.learn-pron{font-size:19px;color:#6b7280;margin-top:6px}.learn-meaning{font-size:30px;margin-top:20px}.learn-type{margin-top:8px;background:#eef2ff;color:#3730a3;padding:5px 10px;border-radius:999px;font-size:13px}.learn-example{margin-top:22px;padding:14px 18px;background:#f9fafb;border-radius:12px;font-size:18px}.learn-nav{margin-top:auto;padding-top:28px;display:flex;gap:10px}.child-stats .stat-card{text-align:center}@media(max-width:650px){.learn-card{min-height:70vh;padding:24px 18px}.learn-word{font-size:44px}.learn-meaning{font-size:26px}}

.learn-progress{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:0 auto 18px;max-width:680px}.learn-progress-bar{height:100%;width:0;background:#2563eb;transition:width .25s ease}.learn-stage{position:relative;min-height:430px}.flashcard{display:none!important}.flashcard.is-active{display:flex!important}.learn-controls{display:flex;justify-content:center;gap:10px;margin-top:18px}.learn-controls .btn{min-width:150px;text-align:center}.learn-controls button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:650px){.learn-controls{position:sticky;bottom:0;background:#f4f7fb;padding:12px 0}.learn-controls .btn{flex:1;min-width:0}}

.nav-btn{min-width:150px;padding:11px 18px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#1f2937;font:inherit;font-weight:700;cursor:pointer;transition:.15s ease}.nav-btn:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.nav-btn:disabled{background:#f3f4f6;color:#9ca3af;border-color:#e5e7eb;cursor:not-allowed}.learn-ready-wrap{text-align:center;margin-top:14px}.learn-ready-btn{min-width:230px;text-align:center}.is-hidden{display:none!important}@media(max-width:650px){.learn-controls .nav-btn{flex:1;min-width:0}.learn-ready-wrap{padding-bottom:8px}}

.practice-main{max-width:760px}.practice-top{display:flex;justify-content:space-between;align-items:flex-start;margin:20px 0 14px}.practice-top h1{margin:4px 0}.practice-card,.feedback-card{background:#fff;border-radius:20px;padding:30px;box-shadow:0 10px 35px rgba(0,0,0,.07);margin-top:20px}.practice-card h2{font-size:30px;line-height:1.35;margin:16px 0 24px}.question-type{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#2563eb;font-weight:800}.choice-list{display:grid;gap:10px}.choice{display:flex;align-items:center;gap:12px;border:1px solid #dbe3ef;border-radius:12px;padding:14px;cursor:pointer}.choice:hover{background:#f8fafc}.choice input{width:auto;margin:0}.answer-input{width:100%;padding:16px;border:2px solid #cbd5e1;border-radius:12px;font-size:20px}.practice-actions{margin-top:22px;text-align:right}.feedback-card{text-align:center}.feedback-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;font-size:36px;font-weight:800}.feedback-correct .feedback-icon{background:#dcfce7;color:#166534}.feedback-wrong .feedback-icon{background:#fee2e2;color:#991b1b}.question-recap{color:#6b7280}.feedback-answer{margin:14px auto;padding:14px;background:#f8fafc;border-radius:12px;max-width:520px}.feedback-answer span,.feedback-answer strong{display:block}.feedback-answer span{font-size:12px;color:#6b7280;text-transform:uppercase}.feedback-answer strong{font-size:22px;margin-top:5px}.correct-answer{background:#ecfdf5}.feedback-explanation{font-size:18px;margin:20px auto;max-width:560px}@media(max-width:650px){.practice-card,.feedback-card{padding:22px 16px}.practice-card h2{font-size:24px}.practice-top{flex-direction:column;gap:8px}}

.result-hero{text-align:center;background:#fff;border-radius:20px;padding:32px;box-shadow:0 10px 35px rgba(0,0,0,.07);margin:20px 0}.result-stars{font-size:28px;letter-spacing:5px}.result-hero h1{font-size:36px;margin:8px 0 4px}.result-score{font-size:72px;font-weight:800;line-height:1;margin:24px 0 8px}.result-score span{font-size:24px;color:#9ca3af}.result-pass{display:inline-block;padding:7px 14px;border-radius:999px;font-size:13px;font-weight:800}.result-pass.pass{background:#dcfce7;color:#166534}.result-pass.retry{background:#fef3c7;color:#92400e}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.result-grid .stat-card{text-align:center}.result-actions{display:flex;justify-content:center;gap:10px}.answer-summary-list{display:grid;gap:8px}.answer-summary-row{display:flex;gap:12px;align-items:center;padding:10px;border-bottom:1px solid #f1f5f9}.answer-summary-row small{display:block;color:#6b7280;margin-top:3px}.answer-status{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800}.answer-status.ok{background:#dcfce7;color:#166534}.answer-status.bad{background:#fee2e2;color:#991b1b}.review-card{display:none;min-height:430px;background:#fff;border-radius:20px;padding:30px;box-shadow:0 10px 35px rgba(0,0,0,.07);text-align:center}.review-card.is-active{display:flex;flex-direction:column;justify-content:center}.review-card h2{font-size:28px;margin:18px 0}.review-type{font-size:12px;text-transform:uppercase;color:#2563eb;font-weight:800;letter-spacing:.08em}@media(max-width:650px){.result-grid{grid-template-columns:1fr 1fr}.result-score{font-size:58px}.result-actions{flex-direction:column}.review-card{min-height:65vh;padding:22px 16px}}

.progress-stat-grid{grid-template-columns:repeat(4,1fr)}.weak-tools{padding:8px 0 12px}.weak-list{display:grid;gap:8px}.weak-row{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:0!important;padding:12px;border:1px solid #e5e7eb;border-radius:10px;font-weight:400!important;cursor:pointer}.weak-row input{width:auto!important;margin:0}.weak-row small{display:block;color:#6b7280;margin-top:4px}.accuracy-badge{font-weight:800;color:#b45309;background:#fef3c7;padding:6px 9px;border-radius:999px}.table-heading{padding:18px 16px 8px}.table-heading h2{margin:0}.parent-answer-list{display:grid;gap:10px}.parent-answer-row{display:flex;gap:12px;border:1px solid #e5e7eb;border-radius:10px;padding:14px}.answer-body{flex:1}.answer-body small{display:block;color:#6b7280;margin-top:3px}.answer-lines{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px;font-size:14px}.answer-bad{background:#fffafa}.answer-ok{background:#fbfffc}@media(max-width:760px){.progress-stat-grid{grid-template-columns:1fr 1fr}.weak-row{grid-template-columns:auto 1fr}.accuracy-badge{grid-column:2}}

.motivation-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.motivation-card{display:flex;align-items:center;gap:14px;background:#fff;border-radius:16px;padding:18px 20px;color:#111827;box-shadow:0 7px 25px rgba(0,0,0,.05)}.motivation-icon{font-size:32px}.motivation-card strong,.motivation-card span{display:block}.motivation-card strong{font-size:28px}.motivation-card span{color:#6b7280;margin-top:2px}.progress-hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.progress-hero-card{background:#fff;border-radius:16px;padding:22px;text-align:center;box-shadow:0 7px 25px rgba(0,0,0,.05)}.progress-hero-card span,.progress-hero-card strong{display:block}.progress-hero-card span{color:#6b7280}.progress-hero-card strong{font-size:30px;margin-top:7px}@media(max-width:650px){.motivation-grid{grid-template-columns:1fr 1fr}.progress-hero-grid{grid-template-columns:1fr}.motivation-card{padding:15px}.motivation-icon{font-size:26px}.motivation-card strong{font-size:23px}}

.reward-line{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:18px;font-weight:800}.reward-line span{background:#f8fafc;border-radius:999px;padding:8px 12px}

/* v0.11.1 Children Motivation UI */
.child-home-main,.child-progress-main{max-width:1040px}.kid-welcome{padding:22px 4px 12px}.kid-eyebrow{font-size:12px;font-weight:900;letter-spacing:.12em;color:#2563eb}.kid-welcome h1{font-size:38px;margin:5px 0}.kid-welcome p{font-size:17px;color:#64748b;margin:0}.kid-achievement-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:16px;margin:18px 0 32px}.kid-points-hero{position:relative;min-height:210px;display:flex;align-items:center;gap:24px;padding:30px;border-radius:24px;background:linear-gradient(135deg,#fff7d6,#fff);border:1px solid #fde68a;color:#1f2937;box-shadow:0 12px 32px rgba(0,0,0,.07);overflow:hidden}.kid-points-hero:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(250,204,21,.12);right:-45px;top:-55px}.kid-hero-icon{font-size:70px;filter:drop-shadow(0 5px 8px rgba(0,0,0,.1))}.kid-card-label{font-size:12px;font-weight:900;letter-spacing:.12em;color:#a16207}.kid-points-hero strong{display:block;font-size:58px;line-height:1;margin:8px 0}.kid-points-hero p{margin:0;color:#78716c}.kid-card-arrow{position:absolute;right:24px;bottom:22px;font-size:25px;font-weight:900}.kid-side-achievements{display:grid;gap:16px}.kid-achievement-card{display:flex;align-items:center;gap:18px;padding:22px;border-radius:20px;background:#fff;color:#1f2937;border:1px solid #e5e7eb;box-shadow:0 8px 25px rgba(0,0,0,.05)}.kid-small-icon{font-size:42px}.kid-achievement-card strong,.kid-achievement-card span{display:block}.kid-achievement-card strong{font-size:29px}.kid-achievement-card strong small{font-size:16px}.kid-achievement-card div>span{color:#64748b;margin-top:2px}.kid-section-heading{display:flex;align-items:center;justify-content:space-between;margin:20px 2px 14px}.kid-section-heading>div{display:flex;align-items:center;gap:10px}.kid-section-icon{font-size:28px}.kid-section-heading h2{margin:0;font-size:24px}.kid-section-heading p{margin:2px 0 0;color:#94a3b8}.kid-task-list{display:grid;gap:12px}.kid-task{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:18px 20px;border-radius:18px;background:#fff;border:1px solid #e5e7eb;color:#1f2937;box-shadow:0 6px 20px rgba(0,0,0,.04);transition:.15s ease}.kid-task:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.07)}.kid-task-icon{width:58px;height:58px;border-radius:16px;background:#eff6ff;display:grid;place-items:center;font-size:29px}.kid-task-meta{display:flex;align-items:center;gap:9px;color:#64748b;font-size:13px}.kid-status{font-size:10px;font-weight:900;letter-spacing:.05em;border-radius:999px;padding:4px 7px}.kid-status.new{background:#dbeafe;color:#1d4ed8}.kid-status.doing{background:#fef3c7;color:#92400e}.kid-task h3{font-size:20px;margin:5px 0}.kid-task p{margin:0;color:#94a3b8}.kid-task-cta{font-weight:800;color:#2563eb;white-space:nowrap}.kid-empty{text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:20px;padding:35px}.kid-empty>div{font-size:44px}.kid-empty h2{margin:8px 0 4px}.kid-empty p{margin:0;color:#64748b}

/* Children progress */
.kid-progress-title{display:flex;align-items:center;gap:14px;margin:24px 0}.kid-progress-title>span{font-size:48px}.kid-progress-title h1{font-size:34px;margin:0}.kid-progress-title p{margin:3px 0 0;color:#64748b}.kid-progress-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kid-progress-card{min-height:175px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:18px;box-shadow:0 7px 24px rgba(0,0,0,.05)}.kid-progress-card.featured{background:linear-gradient(145deg,#fff8d8,#fff);border-color:#fde68a}.progress-emoji{font-size:36px}.kid-progress-card strong{font-size:32px;margin:8px 0 2px}.kid-progress-card strong small{font-size:15px}.kid-progress-card>span:last-of-type{color:#64748b}.kid-progress-card em{font-size:11px;color:#94a3b8;font-style:normal;margin-top:5px}.kid-learning-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 30px}.kid-learning-summary>div{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:9px;background:#f8fafc;border-radius:14px;padding:14px}.kid-learning-summary span{font-size:23px}.kid-learning-summary strong{font-size:22px}.kid-learning-summary small{color:#64748b}.kid-result-list{display:grid;gap:10px}.kid-result-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:15px 18px;color:#1f2937}.kid-result-icon{font-size:30px}.kid-result-body strong,.kid-result-body span{display:block}.kid-result-body span{color:#64748b;font-size:13px;margin-top:3px}.kid-result-score{font-size:21px;font-weight:900;border-radius:10px;padding:7px 10px}.kid-result-score.good{background:#dcfce7;color:#166534}.kid-result-score.practice{background:#fef3c7;color:#92400e}.kid-result-arrow{font-size:20px;color:#94a3b8}
@media(max-width:760px){.kid-achievement-layout{grid-template-columns:1fr}.kid-points-hero{min-height:175px}.kid-hero-icon{font-size:54px}.kid-points-hero strong{font-size:48px}.kid-side-achievements{grid-template-columns:1fr 1fr}.kid-progress-cards{grid-template-columns:1fr 1fr}.kid-learning-summary{grid-template-columns:1fr}.kid-task{grid-template-columns:auto 1fr}.kid-task-cta{grid-column:2}.kid-result-row{grid-template-columns:auto 1fr auto}.kid-result-arrow{display:none}}
@media(max-width:500px){.kid-welcome h1{font-size:31px}.kid-side-achievements{grid-template-columns:1fr}.kid-points-hero{padding:22px;gap:15px}.kid-hero-icon{font-size:45px}.kid-points-hero strong{font-size:42px}.kid-progress-cards{grid-template-columns:1fr 1fr}.kid-progress-card{min-height:150px}.kid-task-icon{width:48px;height:48px;font-size:24px}.kid-task{padding:15px}.kid-task h3{font-size:18px}}

/* v0.11.2 My Assignments Motivation UI */
.child-assignments-main{max-width:1040px}.kid-assignments-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 4px 18px}.kid-assignments-hero h1{font-size:38px;margin:5px 0}.kid-assignments-hero p{margin:0;color:#64748b;font-size:17px}.kid-quest-count{min-width:130px;text-align:center;background:#fff;border:1px solid #dbeafe;border-radius:20px;padding:17px 20px;box-shadow:0 7px 22px rgba(0,0,0,.05)}.kid-quest-count strong,.kid-quest-count span{display:block}.kid-quest-count strong{font-size:35px;color:#2563eb}.kid-quest-count span{font-size:12px;color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.kid-assignment-section{margin:18px 0 32px}.kid-quest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.kid-quest-card{display:flex;flex-direction:column;min-height:205px;background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:20px;color:#1f2937;box-shadow:0 7px 24px rgba(0,0,0,.05);transition:.16s ease}.kid-quest-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.08)}.kid-quest-card.quest-progress{border-color:#fde68a;background:linear-gradient(145deg,#fffdf4,#fff)}.kid-quest-card.quest-new{border-color:#bfdbfe}.kid-quest-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.kid-quest-subject{font-size:13px;color:#64748b;font-weight:700}.kid-quest-card h3{font-size:22px;line-height:1.25;margin:16px 0 7px}.kid-quest-card p{margin:0;color:#94a3b8}.kid-quest-progress{height:9px;background:#f1f5f9;border-radius:999px;overflow:hidden;margin:22px 0 10px}.kid-quest-progress>div{height:100%;background:#f59e0b;border-radius:999px}.kid-quest-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:20px;color:#64748b;font-size:13px}.kid-quest-footer strong{color:#2563eb;font-size:15px}.kid-completed-section{padding-top:4px}.kid-completed-grid{display:grid;gap:9px}.kid-completed-card{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:14px 17px;background:#fff;border:1px solid #e5e7eb;border-radius:15px;color:#1f2937}.kid-completed-icon{font-size:29px}.kid-completed-body strong,.kid-completed-body span{display:block}.kid-completed-body span{font-size:13px;color:#64748b;margin-top:3px}.kid-completed-score{font-size:19px;font-weight:900;background:#ecfdf5;color:#166534;border-radius:10px;padding:7px 10px}.kid-empty-quests{margin-top:25px}
@media(max-width:760px){.kid-quest-grid{grid-template-columns:1fr}.kid-assignments-hero{align-items:flex-start}.kid-completed-card{grid-template-columns:auto 1fr auto}.kid-completed-card .kid-result-arrow{display:none}}
@media(max-width:500px){.kid-assignments-hero{flex-direction:column}.kid-quest-count{align-self:stretch;display:flex;align-items:center;justify-content:center;gap:8px}.kid-quest-count strong,.kid-quest-count span{display:inline}.kid-assignments-hero h1{font-size:31px}.kid-quest-card{min-height:190px}.kid-quest-card h3{font-size:20px}.kid-completed-score{font-size:17px}}

/* v1.0 Parent Assignment filters + final polish */
.assignment-filter-panel{background:#fff;border-radius:14px;padding:18px;box-shadow:0 7px 25px rgba(0,0,0,.05);margin-bottom:14px}.assignment-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.assignment-filter-grid .filter-wide{grid-column:span 2}.assignment-filter-grid label{display:block;font-size:12px;font-weight:800;color:#64748b;margin:0 0 5px;text-transform:uppercase;letter-spacing:.04em}.assignment-filter-grid input,.assignment-filter-grid select{width:100%;padding:10px 11px;border:1px solid #d1d5db;border-radius:9px;background:#fff;font:inherit}.filter-actions{display:flex;gap:9px;margin-top:15px}.assignment-list-summary{color:#64748b;font-size:13px;margin:0 2px 10px}.badge.status-draft{background:#e5e7eb;color:#4b5563}.badge.status-assigned{background:#dbeafe;color:#1d4ed8}.badge.status-in_progress{background:#fef3c7;color:#92400e}.badge.status-completed{background:#dcfce7;color:#166534}.badge.status-cancelled{background:#fee2e2;color:#991b1b}button,input,select,textarea,a{outline-offset:2px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(37,99,235,.28)}@media(max-width:900px){.assignment-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-filter-grid .filter-wide{grid-column:span 2}}@media(max-width:560px){.assignment-filter-grid{grid-template-columns:1fr}.assignment-filter-grid .filter-wide{grid-column:span 1}.filter-actions .btn{flex:1;text-align:center}}

/* v1.0.1 Compact Parent Assignment filters */
.compact-assignment-filter{padding:14px 16px}.compact-assignment-filter .filter-row{display:grid;gap:10px;align-items:end}.compact-assignment-filter .filter-row-primary{grid-template-columns:minmax(260px,1.6fr) repeat(4,minmax(135px,.8fr))}.compact-assignment-filter .filter-row-secondary{grid-template-columns:minmax(140px,.8fr) 150px 150px minmax(160px,.9fr) auto;margin-top:10px}.compact-assignment-filter .filter-field label{display:block;font-size:11px;font-weight:800;color:#64748b;margin:0 0 4px;text-transform:uppercase;letter-spacing:.04em}.compact-assignment-filter .filter-field input,.compact-assignment-filter .filter-field select{width:100%;height:38px;padding:7px 9px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:13px}.compact-assignment-filter .compact-actions{display:flex;gap:8px;margin:0}.compact-assignment-filter .compact-actions .btn{height:38px;padding:9px 14px;white-space:nowrap}.compact-assignment-filter .filter-search input{font-size:14px}
@media(max-width:1000px){.compact-assignment-filter .filter-row-primary{grid-template-columns:2fr repeat(2,1fr)}.compact-assignment-filter .filter-row-primary .filter-field:nth-child(4),.compact-assignment-filter .filter-row-primary .filter-field:nth-child(5){grid-column:auto}.compact-assignment-filter .filter-row-secondary{grid-template-columns:1fr 1fr 1fr 1fr}.compact-assignment-filter .compact-actions{grid-column:span 4}}
@media(max-width:700px){.compact-assignment-filter .filter-row-primary,.compact-assignment-filter .filter-row-secondary{grid-template-columns:1fr 1fr}.compact-assignment-filter .filter-search{grid-column:span 2}.compact-assignment-filter .compact-actions{grid-column:span 2}}
@media(max-width:480px){.compact-assignment-filter .filter-row-primary,.compact-assignment-filter .filter-row-secondary{grid-template-columns:1fr}.compact-assignment-filter .filter-search,.compact-assignment-filter .compact-actions{grid-column:span 1}.compact-assignment-filter .compact-actions .btn{flex:1;text-align:center}}

/* V2 Step 4 - Mastery Validation UI */
.mastery-validation-card{margin-top:18px}.v2-debug-badge{display:inline-block;vertical-align:middle;margin-left:6px;padding:4px 7px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:10px;letter-spacing:.05em}.mastery-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}.mastery-summary-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:11px;padding:13px;text-align:center}.mastery-summary-item strong,.mastery-summary-item span{display:block}.mastery-summary-item strong{font-size:22px}.mastery-summary-item span{font-size:11px;color:#64748b;margin-top:3px}.mastery-engine-note{display:flex;gap:18px;flex-wrap:wrap;background:#f8fafc;border-radius:10px;padding:10px 12px;margin-bottom:12px;color:#475569;font-size:13px}.mastery-table-wrap{overflow-x:auto}.mastery-table{min-width:1050px}.mastery-table th{white-space:nowrap}.mastery-score{font-size:15px}.mastery-state{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase}.state-new{background:#f1f5f9;color:#475569}.state-learning{background:#dbeafe;color:#1d4ed8}.state-familiar{background:#e0f2fe;color:#0369a1}.state-strong{background:#dcfce7;color:#166534}.state-mastered{background:#fef3c7;color:#92400e}.skill-score-cell{text-align:center;font-weight:700}.evidence-count{white-space:nowrap}.mastery-table code{font-size:11px;background:#f1f5f9;padding:4px 6px;border-radius:6px}@media(max-width:850px){.mastery-summary-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:520px){.mastery-summary-grid{grid-template-columns:repeat(2,1fr)}}

/* V2 Step 10 - Review Scheduler R1 validation */
.review-health-card{margin-top:18px}.review-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 16px}.review-health-item{border:1px solid #e5e7eb;background:#f8fafc;border-radius:12px;padding:14px;text-align:center}.review-health-item strong,.review-health-item span{display:block}.review-health-item strong{font-size:25px}.review-health-item span{font-size:12px;color:#64748b;margin-top:3px}.review-health-item.overdue{background:#fff7ed;border-color:#fed7aa}.review-health-item.overdue strong{color:#c2410c}.review-health-item.today{background:#fefce8;border-color:#fde68a}.review-health-item.today strong{color:#a16207}.review-health-item.upcoming{background:#eff6ff;border-color:#bfdbfe}.review-health-item.upcoming strong{color:#1d4ed8}.review-queue-list{display:grid;gap:8px}.review-queue-row{display:grid;grid-template-columns:minmax(180px,1fr) 100px 135px 70px;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:11px;padding:11px 13px;background:#fff}.review-queue-row>div:first-child strong,.review-queue-row>div:first-child small,.review-date strong,.review-date small{display:block}.review-queue-row small{color:#64748b;margin-top:2px}.review-status{display:inline-block;text-align:center;border-radius:999px;padding:5px 7px;font-size:10px;font-weight:900;text-transform:uppercase}.review-overdue{background:#ffedd5;color:#9a3412}.review-due_today{background:#fef3c7;color:#92400e}.review-next_7_days{background:#dbeafe;color:#1d4ed8}.review-later{background:#f1f5f9;color:#475569}.review-mastery{text-align:right;font-weight:900}.review-date{font-size:12px}@media(max-width:760px){.review-health-grid{grid-template-columns:repeat(2,1fr)}.review-queue-row{grid-template-columns:1fr auto}.review-date{grid-column:1}.review-mastery{grid-column:2;grid-row:2;text-align:right}}

/* V2 Step 11 - Lapse Detection */
.lapse-note{color:#b45309!important;font-weight:800}

/* V2 Step 12 - Smart Assignment S1 */
.smart-assignment-box{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:16px 0 10px;padding:14px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:12px}.smart-assignment-box p{margin:4px 0 0}.smart-toggle{display:flex;align-items:center;gap:7px;font-weight:900;white-space:nowrap}.smart-preview{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}.smart-preview span{border:1px solid #e2e8f0;border-radius:999px;padding:6px 9px;background:#fff;font-size:12px}.smart-preview small{color:#64748b}

/* V2 Step 13 - Vocabulary Import */
.page-actions{display:flex;gap:8px;align-items:center}.import-summary{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.import-summary span{padding:8px 11px;border-radius:10px;background:#f1f5f9}.import-ready{background:#dcfce7!important;color:#166534}.import-duplicate{background:#fef3c7!important;color:#92400e}.import-invalid{background:#fee2e2!important;color:#991b1b}.import-preview-table{overflow:auto;max-height:520px;border:1px solid #e5e7eb;border-radius:10px}.import-preview-table table{margin:0}.import-status{font-size:11px;font-weight:800}.status-ready{color:#166534}.status-duplicate{color:#92400e}.status-invalid{color:#b91c1c}

/* V2 Step 14 - Import Validation + Duplicate Policy */
.duplicate-policy-box{margin:16px 0;padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.duplicate-policy-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}.duplicate-policy-options label{display:block;border:1px solid #dbe3ee;background:#fff;border-radius:10px;padding:11px;cursor:pointer}.duplicate-policy-options small{display:block;color:#64748b;margin:5px 0 0 22px}.import-updated{background:#e0f2fe!important;color:#075985}.status-created,.status-updated{color:#166534}.status-kept_separate{color:#075985}.status-skipped{color:#92400e}.status-error,.status-invalid{color:#b91c1c}.import-report-card{margin-bottom:18px}@media(max-width:760px){.duplicate-policy-options{grid-template-columns:1fr}}

/* V2 Step 15 - Bulk Topic / Tag / Source */
.inline-check{display:flex!important;align-items:center;gap:8px;margin-top:8px}.inline-check input{width:auto}.new-topic-badge{display:inline-block;background:#e0f2fe;color:#075985;border-radius:999px;padding:2px 5px;font-size:9px;font-weight:900}

/* V2 Step 16 - Smart Assignment Composition S2 */
.smart-composer-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 12px}.smart-composition-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:10px 0 12px}.smart-composition-summary>div{border:1px solid #e2e8f0;border-radius:11px;padding:10px;text-align:center;background:#fff}.smart-composition-summary strong,.smart-composition-summary span,.smart-composition-summary small{display:block}.smart-composition-summary strong{font-size:20px}.smart-composition-summary span{font-size:11px;font-weight:900;text-transform:uppercase}.smart-composition-summary small{font-size:9px;color:#64748b;margin-top:2px}.bucket-review{background:#fff7ed!important;border-color:#fed7aa!important}.bucket-review span{color:#c2410c}.bucket-weak{background:#fefce8!important;border-color:#fde68a!important}.bucket-weak span{color:#a16207}.bucket-new{background:#eff6ff!important;border-color:#bfdbfe!important}.bucket-new span{color:#1d4ed8}.bucket-maintenance{background:#f0fdf4!important;border-color:#bbf7d0!important}.bucket-maintenance span{color:#15803d}.smart-preview-s2{align-items:stretch}.smart-item-chip{border-radius:10px!important;display:grid!important;grid-template-columns:auto auto;gap:2px 7px;align-items:center}.smart-item-chip em{font-size:9px;font-style:normal;text-transform:uppercase;font-weight:900}.smart-item-chip small{grid-column:1/-1}.smart-item-chip.bucket-review{border-color:#fed7aa}.smart-item-chip.bucket-weak{border-color:#fde68a}.smart-item-chip.bucket-new{border-color:#bfdbfe}.smart-item-chip.bucket-maintenance{border-color:#bbf7d0}@media(max-width:760px){.smart-composer-controls{grid-template-columns:1fr}.smart-composition-summary{grid-template-columns:repeat(2,1fr)}}

/* V2 Step 18 - Smart Assignment Preview 2.0 */
.smart-composer-controls-v2{grid-template-columns:repeat(3,minmax(0,1fr))}.smart-preview-v2-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin:14px 0 8px}.smart-preview-v2-head p{margin:3px 0 0}.smart-preview-meta{white-space:nowrap;background:#eef2ff;color:#4338ca;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.smart-preview-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:12px}.smart-preview-table{min-width:1120px;margin:0}.smart-preview-table th{white-space:nowrap}.smart-preview-table td>strong,.smart-preview-table td>small{display:block}.smart-preview-table td>small{color:#64748b;margin-top:3px}.smart-bucket-pill{display:inline-block;border-radius:999px;padding:5px 7px;font-size:9px;font-weight:900;text-transform:uppercase}.smart-bucket-pill.bucket-review{background:#ffedd5;color:#9a3412}.smart-bucket-pill.bucket-weak{background:#fef3c7;color:#92400e}.smart-bucket-pill.bucket-new{background:#dbeafe;color:#1d4ed8}.smart-bucket-pill.bucket-maintenance{background:#dcfce7;color:#166534}@media(max-width:760px){.smart-composer-controls-v2{grid-template-columns:1fr}.smart-preview-v2-head{display:block}.smart-preview-meta{display:inline-block;margin-top:8px}}

/* V2 Step 19 - Learning Plan Foundation */
.learning-plan-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.learning-plan-summary>div{border:1px solid #e2e8f0;border-radius:12px;padding:14px;text-align:center}.learning-plan-summary strong,.learning-plan-summary span{display:block}.learning-plan-summary strong{font-size:22px}.learning-plan-summary span{font-size:10px;text-transform:uppercase;font-weight:800;color:#64748b;margin-top:4px}@media(max-width:700px){.learning-plan-summary{grid-template-columns:1fr}}

/* V2 Step 20 - Learning Plan -> Smart Assignment */
.learning-plan-smart-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:12px;padding:11px 13px;margin:12px 0}.learning-plan-smart-banner strong,.learning-plan-smart-banner small{display:block}.learning-plan-smart-banner small{margin-top:3px;color:#475569}.plan-source-badge{white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.plan-source-badge.applied{background:#dcfce7;color:#166534}.plan-source-badge.override{background:#fef3c7;color:#92400e}.smart-plan-note{margin-top:-4px}@media(max-width:700px){.learning-plan-smart-banner{align-items:flex-start;flex-direction:column}}

/* V2 Step 21 - Daily Learning Readiness */
.daily-plan-cell strong,.daily-plan-cell small,.daily-queue-summary b,.daily-queue-summary small{display:block}.daily-plan-cell small,.daily-queue-summary small{color:#64748b;margin-top:2px;font-size:10px}.queue-mini{display:flex;gap:5px;flex-wrap:wrap}.queue-mini span{border-radius:999px;padding:4px 6px;font-size:9px;font-weight:900}.queue-due{background:#ffedd5;color:#9a3412}.queue-weak{background:#fef3c7;color:#92400e}.daily-queue-summary{text-align:right}.daily-queue-summary b{color:#9a3412}

/* V2 Step 22 - Today Plan Builder */
.today-plan-policy .plan-policy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.plan-policy-grid span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px}.plan-policy-grid b,.plan-policy-grid small{display:block}.plan-policy-grid small{color:#64748b;margin-top:3px}.recommended-topic{border:1px solid #bfdbfe;background:#eff6ff;border-radius:14px;padding:15px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center}.recommended-topic h3{margin:5px 0}.recommend-badge{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#1d4ed8}.topic-readiness-counts{display:flex;gap:6px;flex-wrap:wrap}.topic-readiness-counts span{background:#fff;border:1px solid #dbeafe;border-radius:999px;padding:5px 8px;font-size:10px}.today-topic-list{display:grid;gap:7px}.today-topic-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;border-bottom:1px solid #e2e8f0;padding:9px 0}.today-topic-row:last-child{border-bottom:0}.today-topic-row strong,.today-topic-row small{display:block}.today-topic-row small{color:#64748b;margin-top:2px}@media(max-width:760px){.today-plan-policy .plan-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recommended-topic,.today-topic-row{grid-template-columns:1fr}.topic-readiness-counts{justify-content:flex-start}}

/* V2 Step 23 - Cross-topic Daily Smart Queue */
.daily-cross-topic-card{border-color:#bfdbfe}.daily-plan-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0 14px}.daily-plan-summary span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:9px}.daily-plan-summary b,.daily-plan-summary small{display:block}.daily-plan-summary small{color:#64748b;margin-top:2px}.daily-queue-table-wrap{overflow:auto}.daily-queue-table{min-width:720px}.daily-queue-table td small{display:block;color:#64748b;margin-top:2px}.queue-bucket{display:inline-block;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900}.queue-review{background:#ffedd5;color:#9a3412}.queue-weak{background:#fef3c7;color:#92400e}.queue-new{background:#dbeafe;color:#1d4ed8}.queue-maintenance{background:#dcfce7;color:#166534}.daily-plan-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}@media(max-width:760px){.daily-plan-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-plan-actions{align-items:stretch;flex-direction:column}}

/* V2 Step 24 - True Daily Budget */
.daily-budget-note{display:flex;gap:8px;align-items:center;justify-content:space-between;background:#ecfeff;border:1px solid #a5f3fc;border-radius:10px;padding:9px 11px;margin:10px 0}.daily-budget-note strong{color:#155e75}.daily-budget-note span{font-size:11px;color:#475569}@media(max-width:760px){.daily-budget-note{align-items:flex-start;flex-direction:column}}

/* V2 Step 25 - Child Today View */
.kid-today-card{background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid #bfdbfe;border-radius:20px;padding:18px;margin:0 0 18px}.kid-today-card.complete{background:linear-gradient(135deg,#f0fdf4,#fffbeb);border-color:#bbf7d0}.kid-today-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.kid-today-head h2{margin:3px 0 4px;font-size:22px}.kid-today-head p{margin:0;color:#64748b}.kid-today-score{text-align:right;white-space:nowrap}.kid-today-score strong{display:block;font-size:26px}.kid-today-score span{font-size:11px;color:#64748b}.kid-progress-track{height:12px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin:14px 0}.kid-progress-track span{display:block;height:100%;background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:inherit}.kid-today-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.kid-today-stats span{background:rgba(255,255,255,.8);border-radius:12px;padding:9px}.kid-today-stats b,.kid-today-stats small{display:block}.kid-today-stats small{color:#64748b;margin-top:3px}.kid-today-cta{margin-top:13px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#1d4ed8;color:#fff!important;text-decoration:none;border-radius:14px;padding:12px 14px}.kid-today-cta span b,.kid-today-cta span small{display:block}.kid-today-cta span small{opacity:.82;margin-top:2px}.kid-today-cta>strong{font-size:24px}.kid-today-cta.secondary{background:#15803d}.kid-today-wait{margin-top:13px;background:#fff;border:1px dashed #93c5fd;border-radius:14px;padding:11px 13px}.kid-today-wait b,.kid-today-wait span{display:block}.kid-today-wait span{color:#64748b;font-size:11px;margin-top:3px}@media(max-width:700px){.kid-today-head{align-items:flex-start}.kid-today-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V2 Step 26 - Daily Goal Completion UX */
.kid-result-goal{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;border-radius:18px;padding:16px;margin:16px 0;border:1px solid #bfdbfe;background:#eff6ff}.kid-result-goal.complete{border-color:#bbf7d0;background:linear-gradient(135deg,#f0fdf4,#fffbeb)}.kid-result-goal-icon{font-size:36px}.kid-result-goal-copy h2{margin:3px 0 4px}.kid-result-goal-copy p{margin:0;color:#64748b}.kid-result-goal-progress{grid-column:1/-1}.kid-result-goal-meta{display:flex;justify-content:space-between;color:#64748b;font-size:11px;margin-top:5px}.kid-continue-btn{background:#2563eb!important;color:#fff!important}.kid-continue-btn.complete{background:#16a34a!important}@media(max-width:600px){.kid-result-goal{grid-template-columns:1fr}.kid-result-goal-icon{font-size:32px}.kid-result-goal-progress{grid-column:auto}.result-actions{display:grid;gap:8px}.result-actions .btn{width:100%;text-align:center}}

/* V2 Step 27 - Smart Continue / Next Session */
.kid-smart-continue-note{grid-column:1/-1;margin-top:8px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.72);color:#475569;font-size:11px;border:1px dashed #bfdbfe}

/* V2 Step 28 - Browser TTS Foundation */
.tts-btn{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:9px 14px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font:inherit;font-weight:700;cursor:pointer;transition:.15s ease}.tts-btn:hover:not(:disabled){background:#dbeafe;transform:translateY(-1px)}.tts-btn.is-speaking{background:#dbeafe;border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.15)}.tts-btn:disabled{opacity:.55;cursor:not-allowed}.tts-icon{font-size:17px}.tts-support-note{max-width:680px;margin:-8px auto 16px;padding:9px 12px;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:12px;text-align:center;border:1px solid #fed7aa}

/* V2 Step 29 - Listening Question */
.listening-prompt{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-4px 0 24px;padding:16px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff}.listening-prompt .tts-btn{margin:0}.listening-prompt small{color:#475569}.listening-play{font-size:16px;padding:11px 17px}

/* V2 Step 30 - Pronunciation Recording Foundation */
.learn-audio-tools{display:flex;gap:9px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:14px}.learn-audio-tools .tts-btn{margin-top:0}.pron-record-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid #c4b5fd;border-radius:999px;background:#f5f3ff;color:#6d28d9;font:inherit;font-weight:700;cursor:pointer;transition:.15s ease}.pron-record-btn:hover:not(:disabled){background:#ede9fe;transform:translateY(-1px)}.pron-record-btn.is-recording{background:#fee2e2;border-color:#fca5a5;color:#b91c1c;animation:pronPulse 1s infinite}.pron-record-btn:disabled{opacity:.55;cursor:not-allowed}.pron-record-panel{width:min(100%,520px);margin-top:14px;padding:12px 14px;background:#fafafa;border:1px solid #e5e7eb;border-radius:12px;text-align:center}.pron-record-status{font-size:13px;color:#475569}.pron-record-panel audio{width:100%;margin-top:10px}.pron-record-again{margin-top:10px;border:0;background:#ede9fe;color:#6d28d9;padding:8px 12px;border-radius:8px;font-weight:700;cursor:pointer}@keyframes pronPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.16)}50%{box-shadow:0 0 0 7px rgba(239,68,68,0)}}@media(max-width:650px){.learn-audio-tools{flex-direction:column}.learn-audio-tools>*{width:100%;justify-content:center}}

/* V2 Step 31 - Pronunciation Scoring Abstraction */
.pron-compare-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:10px}.pron-sample-btn{border:0;background:#dbeafe;color:#1d4ed8;padding:8px 12px;border-radius:8px;font-weight:700;cursor:pointer}.pron-score-note{margin-top:10px;padding:9px 11px;border-radius:9px;background:#f8fafc;color:#64748b;font-size:12px;border:1px dashed #cbd5e1}@media(max-width:650px){.pron-compare-actions>*{width:100%}}

/* V2 Step 31.1 - Recording UX */
.pron-record-timer{display:inline-block;margin-top:8px;padding:5px 9px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.pron-record-btn.is-recording{cursor:pointer}

/* V2 Step 36 - Badges & Milestones */
.child-achievements-main{max-width:1040px}.badge-page-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid #fed7aa;border-radius:24px;padding:28px 30px;margin:22px 0 18px;box-shadow:0 10px 30px rgba(0,0,0,.05)}.badge-page-hero h1{font-size:36px;margin:5px 0}.badge-page-hero p{margin:0;color:#64748b}.badge-hero-count{text-align:center;min-width:135px}.badge-hero-count strong{display:block;font-size:48px;line-height:1}.badge-hero-count span{display:block;color:#78716c;margin-top:6px}.badge-unlock-banner,.kid-new-badge-banner{display:flex;align-items:center;gap:14px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:16px;padding:14px 18px;color:#065f46;margin:14px 0}.badge-unlock-icon,.kid-new-badge-icon{font-size:32px}.badge-unlock-banner strong,.badge-unlock-banner span,.kid-new-badge-banner strong,.kid-new-badge-banner small{display:block}.kid-new-badge-banner small{margin-top:3px;color:#047857}.kid-new-badge-banner b{margin-left:auto;white-space:nowrap}.badge-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:26px}.badge-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px;text-align:center}.badge-summary-card strong{display:block;font-size:29px}.badge-summary-card span{display:block;color:#64748b;margin-top:3px}.badge-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.badge-card{display:flex;gap:17px;align-items:center;border-radius:18px;padding:19px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 6px 20px rgba(0,0,0,.04)}.badge-card.locked{background:#f8fafc;color:#64748b}.badge-medal{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;font-size:38px;flex:0 0 auto;background:#fff7ed;border:4px solid #fdba74}.badge-card.locked .badge-medal{background:#f1f5f9;border-color:#cbd5e1;filter:grayscale(1)}.badge-card.tier-silver.unlocked .badge-medal{background:#f8fafc;border-color:#cbd5e1}.badge-card.tier-gold.unlocked .badge-medal{background:#fefce8;border-color:#facc15}.badge-card-body{flex:1;min-width:0}.badge-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.badge-tier{font-size:10px;font-weight:900;letter-spacing:.1em;color:#9a3412}.badge-earned{font-size:10px;font-weight:900;color:#047857;background:#d1fae5;padding:4px 7px;border-radius:999px}.badge-card h3{margin:6px 0 4px;font-size:20px}.badge-card p{margin:0 0 9px;color:#64748b}.badge-card small{color:#64748b}.badge-progress-label{display:flex;justify-content:space-between;font-size:12px;margin:9px 0 5px}.badge-progress{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.badge-progress>div{height:100%;background:#2563eb;border-radius:999px}.badge-page-actions{display:flex;justify-content:center;gap:10px;margin:26px 0}@media(max-width:760px){.badge-page-hero{align-items:flex-start}.badge-summary-grid{grid-template-columns:1fr 1fr}.badge-collection-grid{grid-template-columns:1fr}}@media(max-width:520px){.badge-page-hero{flex-direction:column}.badge-card{align-items:flex-start}.badge-medal{width:58px;height:58px;font-size:30px}.badge-page-actions{flex-direction:column}.badge-page-actions .btn{text-align:center}}

/* V2 Step 37 - Streak & Daily Goal Integration */
.kid-goal-complete-chip{display:inline-flex;align-items:center;margin:10px 0 2px;padding:7px 10px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:12px;font-weight:800}.result-gamification-banner{display:flex;align-items:center;gap:13px;margin:14px 0;padding:14px 17px;border-radius:16px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.result-gamification-banner>span{font-size:30px}.result-gamification-banner strong,.result-gamification-banner small{display:block}.result-gamification-banner small{margin-top:3px;color:#475569}.result-gamification-banner.badge{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.result-gamification-banner>b{margin-left:auto;white-space:nowrap}@media(max-width:560px){.result-gamification-banner{align-items:flex-start}.result-gamification-banner>b{font-size:12px}}

/* Go-Live GL-01 Parent Account & Security */
.account-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.account-form{display:grid;gap:14px;margin-top:18px}.account-form label{display:grid;gap:6px;font-weight:700}.account-form input{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #d7dce3;border-radius:8px;font:inherit}.account-flash{padding:12px 14px;border-radius:9px;margin-bottom:16px;font-weight:700}.account-flash.success{background:#ecfdf5;color:#047857}.account-flash.error{background:#fef2f2;color:#b91c1c}.account-security-note{margin-top:18px}@media(max-width:760px){.account-security-grid{grid-template-columns:1fr}}

/* Go-Live GL-02 */
.golive-kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}.golive-kv>div{padding:12px;border:1px solid #e5e7eb;border-radius:8px}.golive-kv span{display:block;font-size:.82rem;color:#6b7280;margin-bottom:4px}.golive-kv b{word-break:break-word}@media(max-width:760px){.golive-kv{grid-template-columns:1fr}}

/* Go-Live GL-02.1 cleanup */
.danger-zone{border:1px solid #fecaca}.cleanup-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.cleanup-preview span{padding:10px 12px;border:1px solid #fee2e2;border-radius:8px;background:#fff7f7}.cleanup-preview b{display:block;font-size:1.25rem}.cleanup-form{display:grid;gap:12px;max-width:620px}.cleanup-form label{display:grid;gap:6px;font-weight:700}.cleanup-form input{padding:11px 12px;border:1px solid #d1d5db;border-radius:8px;font:inherit}.cleanup-danger{background:#b91c1c!important;border-color:#b91c1c!important;color:#fff!important}@media(max-width:760px){.cleanup-preview{grid-template-columns:1fr 1fr}}

/* Go-Live GL-03 Acceptance */
.acceptance-status{margin-bottom:18px}.acceptance-pass{border-left:5px solid #16a34a}.acceptance-pending{border-left:5px solid #d97706}.acceptance-list{line-height:1.8;padding-left:24px}

/* GL-03.5 PWA install */
.ktp-pwa-install{position:fixed;right:16px;bottom:16px;z-index:9999;border:0;border-radius:999px;padding:11px 16px;font:600 14px/1.2 inherit;background:#2563eb;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18);cursor:pointer}
.ktp-pwa-install:disabled{opacity:.65;cursor:default}
@media (max-width:640px){.ktp-pwa-install{right:12px;bottom:12px;padding:10px 14px}}

/* Experimental Listening -> Write test */
.experimental-question-tool{margin-top:14px;padding:14px;border:1px dashed #94a3b8;border-radius:10px;display:flex;gap:16px;align-items:center;justify-content:space-between}
.experimental-question-tool small{display:block;margin-top:4px;color:#64748b}
@media(max-width:700px){.experimental-question-tool{align-items:stretch;flex-direction:column}}

/* SL-01 Self Learning */
.self-learning-toggle{display:flex;gap:10px;align-items:center;margin:12px 0 18px}.self-learning-scope{display:flex;gap:20px;flex-wrap:wrap;margin:8px 0 12px}.self-learning-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin:10px 0 18px}.self-learning-topics label{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid #e5e7eb;border-radius:10px}.self-learning-topics label span{flex:1}.self-learning-topics small{color:#64748b}.kid-self-learning-card{margin:18px 0;padding:22px;border-radius:18px;background:#fff;border:1px solid #dbeafe;box-shadow:0 8px 24px rgba(15,23,42,.06)}.kid-self-learning-card h2{margin:5px 0}.kid-self-learning-card p{color:#64748b}.kid-self-learning-card .kid-today-cta{margin-top:14px}
