*{box-sizing:border-box}:root{--blue:#1e3a8a;--blue-mid:#2563eb;--green:#16a34a;--green-light:#dcfce7;--red:#dc2626;--red-light:#fee2e2;--text:#172033;--muted:#64748b;--border:#dbe3ee;--bg:#f6f8fc}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button{font:inherit}button:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}header{background:#fff;border-bottom:1px solid var(--border);padding:20px clamp(18px,4vw,50px);display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:10}header h1{margin:0;font-size:clamp(18px,3vw,26px);color:var(--blue)}#stats{color:var(--muted);font-weight:700}.page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:35px 0 70px}.hero{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:45px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--blue-mid);font-size:12px;font-weight:800}.hero h2,.topic-header h2,.activity-header h2{font-size:clamp(30px,5vw,46px);margin:8px 0}.hero-text{color:var(--muted);font-size:18px}.hero-stats{display:flex;gap:12px}.stat-card{min-width:110px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:15px 18px;box-shadow:0 8px 25px rgba(15,23,42,.08)}.stat-card strong{display:block;font-size:25px}.stat-card span{color:var(--muted);font-size:13px}.section-heading{margin:30px 0 18px}.section-heading h2{margin:0 0 5px}.section-heading p,.topic-header p,.activity-header p{color:var(--muted);margin:0}.topic-grid,.subtopic-grid,.activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.topic-card,.subtopic-card,.activity-card{border:1px solid var(--border);background:#fff;border-radius:18px;padding:22px;text-align:left;cursor:pointer;box-shadow:0 8px 25px rgba(15,23,42,.08);transition:.15s transform,.15s box-shadow,.15s border-color}.topic-card:hover,.subtopic-card:hover,.activity-card:hover{transform:translateY(-3px);border-color:#93c5fd;box-shadow:0 14px 30px rgba(30,58,138,.12)}.topic-icon,.activity-icon{display:block;font-size:34px;margin-bottom:14px}.topic-title,.topic-count,.topic-arrow{display:block}.topic-title{font-weight:800;font-size:18px}.topic-count,.subtopic-card span,.activity-card span,.activity-card small{display:block;color:var(--muted);margin-top:7px}.topic-arrow,.subtopic-card span:last-child{color:var(--blue-mid);font-weight:800;margin-top:16px}.back{border:0;background:none;color:var(--blue-mid);font-weight:800;cursor:pointer;padding:8px 0}.topic-header{display:flex;gap:20px;align-items:center;margin:20px 0 35px}.topic-large-icon{font-size:55px}.subtopic-card strong,.activity-card strong{display:block;font-size:18px}.activity-card small{font-weight:700}.disabled-card{opacity:.55;cursor:not-allowed}.disabled-card:hover{transform:none;border-color:var(--border);box-shadow:0 8px 25px rgba(15,23,42,.08)}.activity{width:min(850px,100%);margin:0 auto;padding:25px 0 60px}.activity-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.difficulty-label{color:var(--muted);font-weight:700}.question-word{background:#fff;border:1px solid var(--border);border-radius:18px;padding:35px;text-align:center;font-size:34px;font-weight:800;margin:25px 0;box-shadow:0 8px 25px rgba(15,23,42,.08)}#answer-options{display:grid;gap:12px}.option{border:2px solid var(--border);background:#fff;border-radius:14px;padding:15px;cursor:pointer;text-align:left}.option:hover{border-color:var(--blue-mid)}.option.correct{background:var(--green-light);border-color:var(--green)}.option.wrong{background:var(--red-light);border-color:var(--red)}.primary{border:0;background:var(--blue);color:#fff;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer}.hidden{display:none!important}.feedback-correct{color:var(--green);font-weight:800}.feedback-wrong{color:var(--red);font-weight:800}.matching-activity{width:min(1050px,100%)}.matching-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px}.matching-column{display:grid;gap:10px}.matching-column h3{margin:0 0 5px}.match-card{width:100%;min-height:54px;border:2px solid var(--border);background:#fff;border-radius:12px;padding:13px 16px;cursor:pointer;font-weight:700;transition:.15s}.match-card:hover:not(:disabled){border-color:var(--blue-mid);transform:translateY(-1px)}.selected-german{background:#dbeafe!important;border-color:#2563eb!important}.selected-english{background:#fef3c7!important;border-color:#d97706!important}.match-correct{background:var(--green-light)!important;border-color:var(--green)!important;color:#166534}.match-wrong{background:var(--red-light)!important;border-color:var(--red)!important;color:#991b1b}.match-card:disabled{cursor:default}.matching-feedback{min-height:35px;text-align:center;margin-top:18px;font-size:18px}.result-score{font-size:55px;font-weight:900;color:var(--blue);margin:25px 0}.xp-result{font-size:20px;font-weight:800}.result-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.result-buttons button:not(.primary){border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px 18px;cursor:pointer;font-weight:700}@media(max-width:700px){header{align-items:flex-start;flex-direction:column}.hero{display:block}.hero-stats{margin-top:20px}.matching-grid{grid-template-columns:1fr}.question-word{font-size:28px}}


/* Memory */
.memory-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(90px, 1fr));
    gap: 12px;
    margin-top: 25px;
}
.memory-card {
    min-height: 105px;
    border: 2px solid var(--border);
    background: white;
    border-radius: 14px;
    cursor: pointer;
    padding: 12px;
    font-weight: 800;
    transition: transform .12s ease, background .15s ease, border-color .15s ease;
}
.memory-card:hover:not(.memory-matched) { transform: translateY(-2px); border-color: var(--blue-mid); }
.memory-card-front { display:block; font-size: 28px; color: var(--blue-mid); }
.memory-card-back { display:none; }
.memory-card.memory-flipped { background:#dbeafe; border-color:#2563eb; }
.memory-card.memory-flipped .memory-card-front { display:none; }
.memory-card.memory-flipped .memory-card-back { display:block; }
.memory-card.memory-matched { background:var(--green-light); border-color:var(--green); cursor:default; }
.memory-card.memory-wrong { background:var(--red-light); border-color:var(--red); }
@media(max-width:800px){ .memory-grid{grid-template-columns:repeat(4,1fr)} }
@media(max-width:560px){ .memory-grid{grid-template-columns:repeat(3,1fr)} .memory-card{min-height:90px;font-size:13px} }

.difficulty-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}
.difficulty-buttons button{border:1px solid var(--border);background:#f8fafc;border-radius:9px;padding:7px 9px;font-size:12px;font-weight:800;cursor:pointer;color:var(--blue)}
.difficulty-buttons button:hover{border-color:var(--blue-mid);background:#eff6ff}
.article-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:600px}
.article-option{text-align:center!important;text-transform:lowercase;font-size:20px;font-weight:800!important}
.answer-input{width:100%;max-width:650px;display:block;border:2px solid var(--border);border-radius:12px;padding:14px 16px;font-size:18px;margin:16px 0}
.answer-input:focus{outline:3px solid #bfdbfe;border-color:var(--blue-mid)}
.scramble-word{letter-spacing:.14em}
.scramble-clue{background:#eff6ff;border-radius:12px;padding:12px;max-width:650px}
.gap-sentence{background:#fff;border:1px solid var(--border);border-radius:18px;padding:30px;font-size:24px;line-height:1.5;font-weight:700;margin:22px 0;max-width:800px;box-shadow:var(--shadow)}
@media(max-width:600px){.article-options{grid-template-columns:1fr}.difficulty-buttons{flex-direction:column}.difficulty-buttons button{width:100%}}


.quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:0 0 34px}
.quick-card{display:flex;align-items:center;gap:15px;background:white;border:1px solid var(--border);border-radius:16px;padding:18px;text-align:left;cursor:pointer;box-shadow:var(--shadow)}
.quick-card:hover{border-color:#93c5fd;transform:translateY(-2px)}
.quick-card>span{font-size:28px}.quick-card strong,.quick-card small{display:block}.quick-card small{color:var(--muted);margin-top:4px}
.progress-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:25px 0}
.summary-card{background:white;border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:var(--shadow)}
.summary-card strong{display:block;font-size:30px}.summary-card span{color:var(--muted);font-size:13px}
.progress-panel{background:white;border:1px solid var(--border);border-radius:18px;padding:22px;margin-top:18px;box-shadow:var(--shadow)}
.progress-row{display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(120px,2fr) 55px;gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid #eef2f7}
.progress-row:last-child{border-bottom:0}.progress-row strong,.progress-row span{display:block}.progress-row span{font-size:12px;color:var(--muted);margin-top:4px}.progress-row b{text-align:right}
.progress-bar{height:10px;background:#e9eef5;border-radius:99px;overflow:hidden}.progress-bar i{display:block;height:100%;background:var(--blue-mid);border-radius:99px}
.session-list{display:grid;gap:8px}.session-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #eef2f7}.session-row:last-child{border-bottom:0}.session-row strong,.session-row span{display:block}.session-row span{color:var(--muted);font-size:12px;margin-top:4px}
@media(max-width:650px){.progress-row{grid-template-columns:1fr 50px}.progress-row .progress-bar{grid-column:1/-1;grid-row:2}.session-row{align-items:flex-start}}

.mastery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}.mastery-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.mastery-card strong{display:block;font-size:30px}.mastery-card span{color:var(--muted);font-weight:700}.mastery-list{display:grid;gap:8px}.mastery-row{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px}.mastery-row strong,.mastery-row span{display:block}.mastery-row span{color:var(--muted);font-size:13px;margin-top:4px}.mastery-row>div:last-child{display:flex;align-items:center;gap:14px}.mastery-level{padding:5px 9px;border-radius:999px;font-weight:800;font-size:12px}.mastery-new{background:#f1f5f9}.mastery-learning{background:#fef3c7;color:#92400e!important}.mastery-familiar{background:#dbeafe;color:#1d4ed8!important}.mastery-mastered{background:#dcfce7;color:#166534!important}@media(max-width:700px){.mastery-grid{grid-template-columns:repeat(2,1fr)}.mastery-row{align-items:flex-start;flex-direction:column}.mastery-row>div:last-child{width:100%;justify-content:space-between}}


.daily-card{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff,#eff6ff);border:1px solid #bfdbfe;border-radius:18px;padding:20px 22px;margin:0 0 18px;box-shadow:var(--shadow)}
.daily-card>div{display:flex;align-items:center;gap:14px}.daily-icon{font-size:30px}.daily-card strong,.daily-card small{display:block}.daily-card small{color:var(--muted);margin-top:4px}.daily-complete{opacity:.8}.daily-card button:disabled{opacity:.6;cursor:default}
.mastery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.mastery-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.mastery-card strong{display:block;font-size:28px}.mastery-card span{color:var(--muted)}.mastery-list{display:grid;gap:8px}.mastery-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 15px;border:1px solid var(--border);border-radius:12px;background:#fff}.mastery-row span{display:block;color:var(--muted);font-size:13px}.mastery-row>div:last-child{text-align:right}.mastery-level{display:inline-block!important;border-radius:999px;padding:4px 8px;font-weight:700}.mastery-new{background:#f1f5f9}.mastery-learning{background:#fef3c7;color:#92400e!important}.mastery-familiar{background:#dbeafe;color:#1d4ed8!important}.mastery-mastered{background:#dcfce7;color:#166534!important}
@media(max-width:700px){.daily-card{align-items:flex-start;flex-direction:column}.mastery-grid{grid-template-columns:repeat(2,1fr)}}


/* Version 5.0.0: Learn mode and richer results */
.learn-card { border-color: #bfdbfe; }
.single-action button { width: 100%; }
.learn-activity { max-width: 760px; }
.learn-flashcard {
    display: block; width: 100%; min-height: 330px; padding: 34px;
    border: 2px solid #dbe3ee; border-radius: 22px; background: #fff;
    box-shadow: 0 12px 32px rgba(15,23,42,.09); cursor: pointer;
    text-align: center; color: #172033;
}
.learn-flashcard > strong { display:block; font-size: clamp(34px,7vw,58px); margin: 48px 0 14px; }
.learn-prompt { display:block; color:#64748b; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.learn-article { color:#2563eb; }
.learn-answer { border-top:1px solid #e2e8f0; margin-top:28px; padding-top:26px; }
.learn-answer b { display:block; font-size:28px; margin:8px 0 16px; }
.learn-answer p { margin:8px 0; }
.learn-examples { margin-top:18px; padding:14px; border-radius:14px; background:#f8fafc; text-align:left; }
.learn-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:18px; }
.secondary-action { border:1px solid #dbe3ee; background:white; border-radius:12px; padding:12px 18px; cursor:pointer; font-weight:800; color:#1e3a8a; }
.result-mini-stats { display:flex; gap:10px; flex-wrap:wrap; margin:18px 0; }
.result-mini-stats span { padding:8px 12px; border-radius:999px; background:#f1f5f9; color:#475569; font-weight:700; font-size:13px; }
@media(max-width:620px){ .learn-actions{grid-template-columns:1fr;} .learn-flashcard{min-height:300px;padding:24px;} }


/* Version 5.0.0: keyboard + learning tweaks */
.key-hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.7rem;
    height: 1.7rem;
    margin-right: .65rem;
    padding: 0 .35rem;
    border: 1px solid #cbd5e1;
    border-radius: .45rem;
    background: #f8fafc;
    color: #475569;
    font-size: .82rem;
    font-weight: 800;
}

.translation-box {
    margin: 1rem 0 1.25rem;
    padding: .9rem 1rem;
    border-left: 4px solid #2563eb;
    border-radius: .5rem;
    background: #eff6ff;
    color: #1e3a8a;
    line-height: 1.5;
}

.translation-label {
    display: block;
    margin-bottom: .2rem;
    color: #64748b;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.memory-result-note {
    font-weight: 700;
    color: #475569;
}

.umlaut-buttons {
    display: flex;
    gap: .5rem;
    margin: .65rem 0 1rem;
}
.umlaut-buttons button {
    min-width: 2.5rem;
    padding: .45rem .7rem;
    border: 1px solid #cbd5e1;
    border-radius: .55rem;
    background: #fff;
    font-weight: 800;
    cursor: pointer;
}
.umlaut-buttons button:hover { background: #f1f5f9; }

.feedback-capitalisation {
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fcd34d;
    border-radius: .7rem;
    padding: .8rem 1rem;
    font-weight: 700;
}
.feedback-capitalisation span {
    display: inline-block;
    margin-top: .25rem;
    color: #78350f;
    font-size: .9rem;
}

.production-note {
    text-align:center;
    color:#64748b;
    margin:-.4rem 0 1rem;
}

.sentence-built {
    min-height: 4rem;
    padding: 1rem;
    margin: 1rem 0;
    border: 2px dashed #93c5fd;
    border-radius: .8rem;
    background: #f8fafc;
    font-size: 1.1rem;
    line-height: 1.7;
}
.sentence-placeholder { color:#94a3b8; }
.sentence-bank {
    display:flex;
    flex-wrap:wrap;
    gap:.55rem;
    margin:1rem 0;
}
.sentence-token {
    padding:.6rem .8rem;
    border:1px solid #cbd5e1;
    border-radius:.65rem;
    background:white;
    cursor:pointer;
    font-weight:700;
}
.sentence-token:disabled { opacity:.35; cursor:default; }
.sentence-actions {
    display:flex;
    flex-wrap:wrap;
    gap:.6rem;
    margin:1rem 0;
}
.sentence-actions button:not(.primary) {
    padding:.55rem .8rem;
    border:1px solid #cbd5e1;
    border-radius:.6rem;
    background:white;
    cursor:pointer;
}

.sentence-answer-input {
    width:100%;
    box-sizing:border-box;
    padding:.9rem 1rem;
    border:1px solid #cbd5e1;
    border-radius:.7rem;
    font:inherit;
    line-height:1.5;
    resize:vertical;
}
.sentence-answer-input:focus {
    outline:2px solid #93c5fd;
    border-color:#60a5fa;
}

.learning-pathway {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.75rem;
    margin:1rem 0 1.4rem;
    padding:.8rem 1rem;
    border-radius:.9rem;
    background:#f8fafc;
    border:1px solid #e2e8f0;
}
.learning-pathway div {
    display:flex;
    align-items:center;
    gap:.45rem;
    color:#475569;
    font-size:.9rem;
}
.learning-pathway div strong {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1.65rem;
    height:1.65rem;
    border-radius:999px;
    background:#dbeafe;
    color:#1d4ed8;
}
.path-arrow { color:#94a3b8; font-weight:800; }
.adaptive-card {
    border:2px solid #93c5fd;
    background:linear-gradient(180deg,#eff6ff,#ffffff);
}
@media (max-width:600px) {
    .learning-pathway { gap:.35rem; }
    .learning-pathway div { flex-direction:column; gap:.15rem; }
}

.recommendation-panel {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin:1rem 0 1.25rem;
    padding:1rem 1.1rem;
    border:1px solid #bfdbfe;
    border-radius:.9rem;
    background:#eff6ff;
}
.recommendation-panel > div {
    display:flex;
    flex-direction:column;
    gap:.25rem;
}
.recommendation-panel strong { color:#1e3a8a; }
@media (max-width:600px) {
    .recommendation-panel { align-items:stretch; flex-direction:column; }
}

.progress-tools {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    padding:1rem 1.1rem;
    margin:1rem 0 1.25rem;
    border:1px solid #e2e8f0;
    border-radius:.9rem;
    background:#f8fafc;
}
.progress-tools > div:first-child {
    display:flex;
    flex-direction:column;
    gap:.25rem;
}
.progress-tools span { color:#64748b; font-size:.9rem; }
.progress-tool-buttons { display:flex; flex-wrap:wrap; gap:.5rem; }
.progress-tool-buttons button,
.import-progress-button {
    border:1px solid #cbd5e1;
    border-radius:.6rem;
    background:white;
    padding:.55rem .75rem;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}
.import-progress-button input { display:none; }
.progress-tool-buttons .danger-button { color:#b91c1c; }
@media(max-width:700px) {
    .progress-tools { flex-direction:column; align-items:stretch; }
}

.verb-practice-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:1rem;
    margin-top:1.2rem;
}
.verb-practice-grid .activity-card > button {
    margin-top:auto;
}
.verb-form-clue {
    margin:1rem auto;
    padding:.8rem 1rem;
    max-width:28rem;
    text-align:center;
    border-radius:.75rem;
    background:#f1f5f9;
    color:#334155;
    font-size:1.05rem;
    font-weight:800;
}
.empty-state {
    margin:1.25rem 0;
    padding:1rem;
    border:1px dashed #cbd5e1;
    border-radius:.8rem;
    color:#64748b;
    background:#f8fafc;
}

.verb-context-sentence {
    margin:1rem auto;
    padding:1rem 1.1rem;
    max-width:36rem;
    border-radius:.8rem;
    background:#fff;
    border:1px solid #dbeafe;
    text-align:center;
    font-size:1.2rem;
    font-weight:800;
    line-height:1.6;
}

.production-card {
    border:2px solid #c4b5fd;
    background:linear-gradient(180deg,#f5f3ff,#ffffff);
}
.verb-transform-prompt {
    margin:1rem auto .6rem;
    max-width:38rem;
    padding:1rem;
    text-align:center;
    font-size:1.2rem;
    font-weight:800;
    border-radius:.8rem;
    background:#f8fafc;
}
.verb-transform-instruction {
    margin:.5rem auto 1rem;
    text-align:center;
    font-weight:800;
    color:#5b21b6;
}

.verb-learning-path {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:.55rem;
    margin:1rem 0 1.3rem;
    padding:.8rem;
    border:1px solid #e2e8f0;
    border-radius:.9rem;
    background:#f8fafc;
}
.verb-learning-path span {
    display:flex;
    align-items:center;
    gap:.35rem;
    color:#475569;
    font-size:.9rem;
}
.verb-learning-path span strong {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1.6rem;
    height:1.6rem;
    border-radius:999px;
    background:#ede9fe;
    color:#6d28d9;
}
.verb-learning-path b { color:#94a3b8; }
.mixed-verb-card {
    border:2px solid #fde68a;
    background:linear-gradient(180deg,#fffbeb,#ffffff);
}

.verb-mastery-summary {
    display:grid;
    grid-template-columns:repeat(3,minmax(110px,1fr)) auto;
    gap:.7rem;
    align-items:stretch;
    margin:1rem 0;
}
.verb-mastery-summary > div {
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:.8rem;
    text-align:center;
    border:1px solid #e2e8f0;
    border-radius:.8rem;
    background:white;
}
.verb-mastery-summary strong { font-size:1.35rem; color:#4c1d95; }
.verb-mastery-summary span { font-size:.82rem; color:#64748b; }
.verb-mastery-summary button {
    border:1px solid #c4b5fd;
    border-radius:.8rem;
    background:#f5f3ff;
    padding:.7rem .9rem;
    font-weight:800;
    cursor:pointer;
}
.verb-mastery-summary button:disabled { opacity:.45; cursor:default; }
@media(max-width:700px) {
    .verb-mastery-summary { grid-template-columns:repeat(3,1fr); }
    .verb-mastery-summary button { grid-column:1/-1; }
}

.verb-recommendation {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin:1rem 0;
    padding:1rem 1.1rem;
    border:2px solid #bfdbfe;
    border-radius:.9rem;
    background:linear-gradient(180deg,#eff6ff,#ffffff);
}
.verb-recommendation > div {
    display:flex;
    flex-direction:column;
    gap:.25rem;
}
.verb-recommendation strong { color:#1e3a8a; }
.verb-recommendation button {
    border:0;
    border-radius:.7rem;
    padding:.7rem 1rem;
    background:#2563eb;
    color:white;
    font-weight:800;
    cursor:pointer;
    white-space:nowrap;
}
@media(max-width:650px) {
    .verb-recommendation { flex-direction:column; align-items:stretch; }
}

.due-review-banner {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    margin:1rem 0;
    padding:.85rem 1rem;
    border:1px solid #bbf7d0;
    border-radius:.85rem;
    background:#f0fdf4;
}
.due-review-banner > div { display:flex; flex-direction:column; gap:.15rem; }
.due-review-banner strong { color:#166534; }
.due-review-banner span { color:#64748b; font-size:.88rem; }
.due-review-banner button {
    border:0;
    border-radius:.65rem;
    padding:.6rem .85rem;
    background:#15803d;
    color:white;
    font-weight:800;
    cursor:pointer;
}
@media(max-width:600px) {
    .due-review-banner { flex-direction:column; align-items:stretch; }
}

.verb-learn-card {
    border:2px solid #a7f3d0;
    background:linear-gradient(180deg,#ecfdf5,#ffffff);
}
.verb-reference-controls {
    margin:1rem 0;
}
.verb-reference-controls input {
    width:100%;
    max-width:32rem;
    padding:.75rem .9rem;
    border:1px solid #cbd5e1;
    border-radius:.7rem;
    font:inherit;
}
.verb-reference-card {
    margin:1rem 0;
    padding:1rem;
    border:1px solid #e2e8f0;
    border-radius:.9rem;
    background:white;
}
.verb-reference-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding-bottom:.75rem;
    border-bottom:1px solid #e2e8f0;
}
.verb-reference-heading > div {
    display:flex;
    flex-direction:column;
    gap:.15rem;
}
.verb-reference-heading strong {
    font-size:1.25rem;
    color:#1e3a8a;
}
.verb-reference-heading span { color:#64748b; }
.verb-badge {
    padding:.25rem .5rem;
    border-radius:999px;
    background:#ede9fe;
    color:#6d28d9 !important;
    font-size:.78rem;
    font-weight:800;
}
.verb-reference-sections {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:1rem;
    margin-top:.8rem;
}
.verb-reference-sections h3 {
    margin:.2rem 0 .5rem;
    font-size:1rem;
}
.verb-reference-sections table {
    width:100%;
    border-collapse:collapse;
}
.verb-reference-sections td {
    padding:.25rem .35rem;
    border-bottom:1px solid #f1f5f9;
}
.verb-reference-sections td:first-child {
    color:#64748b;
    width:50%;
}

.separable-verb-card {
    border:2px solid #fdba74;
    background:linear-gradient(180deg,#fff7ed,#ffffff);
}

.modal-verb-card {
    border:2px solid #67e8f9;
    background:linear-gradient(180deg,#ecfeff,#ffffff);
}

.reflexive-verb-card {
    border:2px solid #f0abfc;
    background:linear-gradient(180deg,#fdf4ff,#ffffff);
}

.perfekt-choice-card{border:2px solid #86efac;background:linear-gradient(180deg,#f0fdf4,#fff)}
.binary-answer-buttons{display:grid;grid-template-columns:repeat(2,minmax(120px,220px));justify-content:center;gap:.8rem;margin:1rem auto}
.binary-answer-buttons button{padding:.9rem 1rem;border:1px solid #cbd5e1;border-radius:.8rem;background:#fff;font:inherit;font-weight:800;cursor:pointer}
.binary-answer-buttons kbd{margin-right:.4rem;padding:.1rem .35rem;border:1px solid #cbd5e1;border-radius:.3rem;background:#f8fafc}

.perfekt-workshop-card {
    border:2px solid #93c5fd;
    background:linear-gradient(180deg,#eff6ff,#ffffff);
}

.irregular-verb-card {
    border:2px solid #fca5a5;
    background:linear-gradient(180deg,#fef2f2,#ffffff);
}

.modal-order-card {
    border:2px solid #c4b5fd;
    background:linear-gradient(180deg,#f5f3ff,#ffffff);
}

.verb-negation-card {
    border:2px solid #fda4af;
    background:linear-gradient(180deg,#fff1f2,#ffffff);
}

.clause-verb-card {
    border:2px solid #fbbf24;
    background:linear-gradient(180deg,#fffbeb,#ffffff);
}

.inversion-card {
    border:2px solid #7dd3fc;
    background:linear-gradient(180deg,#f0f9ff,#ffffff);
}

.coordinating-card {
    border:2px solid #a5b4fc;
    background:linear-gradient(180deg,#eef2ff,#ffffff);
}

.conjunction-contrast-card {
    border:2px solid #d8b4fe;
    background:linear-gradient(180deg,#faf5ff,#ffffff);
}
.conjunction-choice-grid {
    max-width:38rem;
    margin:1rem auto;
}
.conjunction-choice-grid kbd {
    margin-right:.35rem;
}

.question-verb-card {
    border:2px solid #5eead4;
    background:linear-gradient(180deg,#f0fdfa,#ffffff);
}

.yes-no-question-card {
    border:2px solid #6ee7b7;
    background:linear-gradient(180deg,#ecfdf5,#ffffff);
}

.mixed-question-card {
    border:2px solid #fb7185;
    background:linear-gradient(180deg,#fff1f2,#ffffff);
}

.word-order-challenge-card {
    border:2px solid #818cf8;
    background:linear-gradient(180deg,#eef2ff,#ffffff);
}

.guided-production-card{border:2px solid #34d399;background:linear-gradient(180deg,#ecfdf5,#fff)}
.guided-production-input{display:block;width:min(100%,42rem);min-height:7rem;margin:1rem auto;resize:vertical;padding:1rem}

.free-production-card {
    border:2px solid #22c55e;
    background:linear-gradient(180deg,#f0fdf4,#ffffff);
}
.model-answer-box {
    max-width:42rem;
    margin:1rem auto;
    padding:1rem;
    border:1px solid #bbf7d0;
    border-radius:.9rem;
    background:#f0fdf4;
}
.self-check-buttons {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:.6rem;
    margin:1rem auto;
}
.self-check-buttons button {
    padding:.75rem .9rem;
    border:1px solid #cbd5e1;
    border-radius:.7rem;
    background:white;
    cursor:pointer;
    font:inherit;
}

.weak-verb-card {
    border:2px solid #f59e0b;
    background:linear-gradient(180deg,#fffbeb,#ffffff);
}

.mastery-mix-card {
    border:2px solid #facc15;
    background:linear-gradient(180deg,#fefce8,#ffffff);
}

.verb-speed-card {
    border:2px solid #fb923c;
    background:linear-gradient(180deg,#fff7ed,#ffffff);
}
.speed-round #verb-speed-timer { font-size:1.15em; }
.speed-result-number {
    font-size:4rem;
    font-weight:800;
    line-height:1;
    margin:1rem 0 .4rem;
}

.error-clinic-card {
    border:2px solid #f87171;
    background:linear-gradient(180deg,#fef2f2,#ffffff);
}
.error-sentence {
    text-decoration-line:underline;
    text-decoration-style:wavy;
    text-decoration-color:#ef4444;
    text-underline-offset:.25rem;
}

.tense-detective-card {
    border:2px solid #60a5fa;
    background:linear-gradient(180deg,#eff6ff,#ffffff);
}
.tense-detective-grid {
    max-width:36rem;
    margin:1rem auto;
}

.time-signal-card {
    border:2px solid #a78bfa;
    background:linear-gradient(180deg,#f5f3ff,#ffffff);
}
.time-signal-grid { max-width:38rem; margin:1rem auto; }

.tense-transformer-card {
    border:2px solid #2dd4bf;
    background:linear-gradient(180deg,#f0fdfa,#ffffff);
}
.tense-transformer-input {
    display:block;
    width:min(100%,42rem);
    min-height:7rem;
    margin:1rem auto;
    resize:vertical;
    padding:1rem;
}

.person-switch-card {
    border:2px solid #38bdf8;
    background:linear-gradient(180deg,#f0f9ff,#ffffff);
}
.person-switch-input {
    display:block;
    width:min(100%,42rem);
    min-height:7rem;
    margin:1rem auto;
    resize:vertical;
    padding:1rem;
}

.verb-ladder-card {
    border:2px solid #c084fc;
    background:linear-gradient(180deg,#faf5ff,#ffffff);
}
.ladder-progress {
    display:flex;
    justify-content:center;
    gap:.45rem;
    margin:1rem auto;
}
.ladder-progress span {
    width:2rem;height:2rem;border-radius:50%;
    display:grid;place-items:center;
    border:2px solid #d8b4fe;background:#fff;
    font-weight:700;
}
.ladder-progress span.current { background:#f3e8ff; border-color:#a855f7; }
.ladder-progress span.done { background:#dcfce7; border-color:#22c55e; }

.auxiliary-card {
    border:2px solid #14b8a6;
    background:linear-gradient(180deg,#f0fdfa,#ffffff);
}
.auxiliary-grid {
    max-width:28rem;
    margin:1rem auto;
}

.separable-verb-card {
    border:2px solid #f472b6;
    background:linear-gradient(180deg,#fdf2f8,#ffffff);
}

.reflexive-verb-card {
    border:2px solid #818cf8;
    background:linear-gradient(180deg,#eef2ff,#ffffff);
}

.modal-meaning-card {
    border:2px solid #fb7185;
    background:linear-gradient(180deg,#fff1f2,#ffffff);
}
.modal-meaning-grid { max-width:40rem; margin:1rem auto; }

.verb-family-card {
    border:2px solid #34d399;
    background:linear-gradient(180deg,#ecfdf5,#ffffff);
}
.verb-family-form-label {
    display:inline-block;
    margin:.6rem auto;
    padding:.35rem .75rem;
    border-radius:999px;
    background:#ecfdf5;
    font-weight:700;
}
.verb-family-strip {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:.6rem;
    margin:1rem auto;
}
.verb-family-strip span {
    min-width:8rem;
    padding:.65rem;
    border:1px solid #a7f3d0;
    border-radius:.75rem;
    background:#f0fdf4;
}
.verb-family-strip small,.verb-family-strip strong { display:block; }

.principal-parts-card {
    border:2px solid #f59e0b;
    background:linear-gradient(180deg,#fffbeb,#ffffff);
}
.principal-parts-row {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:.55rem;
    margin:1rem auto 1.25rem;
}
.principal-part {
    min-width:8rem;
    padding:.7rem;
    border:2px solid #e5e7eb;
    border-radius:.8rem;
    background:#fff;
}
.principal-part small,.principal-part strong { display:block; }
.principal-part.current { border-color:#f59e0b; background:#fffbeb; }
.principal-part.done { border-color:#22c55e; background:#f0fdf4; }

.verb-odd-card {
    border:2px solid #64748b;
    background:linear-gradient(180deg,#f8fafc,#ffffff);
}
.verb-odd-grid { max-width:38rem; margin:1rem auto; }

.verb-sort-card {
    border:2px solid #0ea5e9;
    background:linear-gradient(180deg,#f0f9ff,#ffffff);
}
.verb-sort-grid { max-width:40rem; margin:1rem auto; }

.verb-pattern-card {
    border:2px solid #8b5cf6;
    background:linear-gradient(180deg,#f5f3ff,#ffffff);
}
.verb-pattern-grid { max-width:40rem; margin:1rem auto; }

.verb-builder-card {
    border:2px solid #22c55e;
    background:linear-gradient(180deg,#f0fdf4,#ffffff);
}
.verb-builder-bank,.verb-builder-answer {
    display:flex; flex-wrap:wrap; justify-content:center; gap:.55rem;
    min-height:3.5rem; margin:1rem auto; padding:.8rem;
    border-radius:.8rem;
}
.verb-builder-bank { background:#f8fafc; }
.verb-builder-answer { border:2px dashed #86efac; background:#f0fdf4; }
.builder-chunk { padding:.55rem .75rem; border-radius:.65rem; cursor:pointer; }
.builder-chunk.selected { border-color:#22c55e; background:#dcfce7; }

.verb-upgrade-card {
    border:2px solid #f97316;
    background:linear-gradient(180deg,#fff7ed,#ffffff);
}
.verb-upgrade-grid { max-width:48rem; margin:1rem auto; }
.verb-upgrade-option { text-align:left; line-height:1.45; }

.sentence-surgery-card {
    border:2px solid #ef4444;
    background:linear-gradient(180deg,#fef2f2,#ffffff);
}
.sentence-surgery-wrong {
    text-decoration:underline wavy #ef4444;
    text-decoration-thickness:1.5px;
}
.sentence-surgery-grid { max-width:50rem; margin:1rem auto; }
.sentence-surgery-option { text-align:left; line-height:1.45; }

.verb-prompt-card {
    border:2px solid #a855f7;
    background:linear-gradient(180deg,#faf5ff,#ffffff);
}
.verb-prompt-required {
    display:inline-block; margin:.8rem auto; padding:.55rem 1rem;
    border:1px solid #d8b4fe; border-radius:999px; background:#faf5ff;
}

.three-tense-card {
    border:2px solid #0ea5e9;
    background:linear-gradient(180deg,#f0f9ff,#ffffff);
}
.three-tense-progress {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:.55rem;
    margin:1rem auto;
}
.three-tense-progress span {
    padding:.45rem .8rem;
    border:2px solid #cbd5e1;
    border-radius:999px;
    background:#fff;
    font-weight:700;
}
.three-tense-progress span.current {
    border-color:#0ea5e9;
    background:#e0f2fe;
}
.three-tense-progress span.done {
    border-color:#22c55e;
    background:#dcfce7;
}
.three-tense-input {
    display:block;
    width:min(100%,42rem);
    min-height:7rem;
    margin:1rem auto;
    resize:vertical;
    padding:1rem;
}

.time-machine-card {
    border:2px solid #7c3aed;
    background:linear-gradient(180deg,#f5f3ff,#ffffff);
}

.verb-transfer-card { border:2px solid #06b6d4; background:linear-gradient(180deg,#ecfeff,#ffffff); }
.verb-transfer-input { display:block; width:min(100%,42rem); min-height:6rem; margin:1rem auto; padding:1rem; resize:vertical; }

.verb-timeline-card { border:2px solid #0284c7; background:linear-gradient(180deg,#f0f9ff,#ffffff); }
.timeline-strip {
    display:grid; grid-template-columns:1fr 1fr 1fr; gap:.35rem;
    max-width:34rem; margin:1rem auto; text-align:center; font-weight:800;
}
.timeline-strip span { padding:.55rem; border-bottom:4px solid #94a3b8; }
.verb-timeline-grid { max-width:48rem; margin:1rem auto; }
.verb-timeline-option { text-align:left; line-height:1.45; }

.verb-choice-card { border:2px solid #f59e0b; background:linear-gradient(180deg,#fffbeb,#ffffff); }
.verb-choice-grid { max-width:38rem; margin:1rem auto; }

.verb-collocation-card { border:2px solid #8b5cf6; background:linear-gradient(180deg,#f5f3ff,#ffffff); }
.verb-collocation-grid { max-width:38rem; margin:1rem auto; }

.verb-prep-card { border:2px solid #10b981; background:linear-gradient(180deg,#ecfdf5,#ffffff); }
.verb-prep-grid { max-width:38rem; margin:1rem auto; }

.verb-negative-card { border:2px solid #64748b; background:linear-gradient(180deg,#f8fafc,#ffffff); }
.verb-negative-grid { max-width:48rem; margin:1rem auto; }

.connector-card { border:2px solid #2563eb; background:linear-gradient(180deg,#eff6ff,#ffffff); }
.connector-grid { max-width:52rem; margin:1rem auto; }
.connector-option { text-align:left; line-height:1.5; }

.verb-story-card { border:2px solid #9333ea; background:linear-gradient(180deg,#faf5ff,#ffffff); }
.verb-story-context {
    max-width:50rem; margin:1rem auto .7rem; padding:1rem 1.2rem;
    border-left:4px solid #9333ea; background:#faf5ff; line-height:1.65; text-align:left;
}
.verb-story-grid { max-width:52rem; margin:1rem auto; }
.verb-story-option { text-align:left; line-height:1.5; }

.verb-repair-card { border:2px solid #dc2626; background:linear-gradient(180deg,#fef2f2,#ffffff); }
.verb-repair-error { text-decoration:underline wavy #dc2626 1.5px; text-underline-offset:5px; }
.verb-repair-grid { max-width:44rem; margin:1rem auto; }

.imperative-card { border:2px solid #ea580c; background:linear-gradient(180deg,#fff7ed,#ffffff); }
.imperative-audience {
    display:flex; justify-content:center; gap:.55rem; align-items:center;
    max-width:38rem; margin:1rem auto; padding:.75rem 1rem;
    border-radius:.75rem; background:#fff7ed;
}
.imperative-grid { max-width:46rem; margin:1rem auto; }
.imperative-option { text-align:left; line-height:1.45; }

.modal-verb-card { border:2px solid #4f46e5; background:linear-gradient(180deg,#eef2ff,#ffffff); }
.modal-verb-grid { max-width:44rem; margin:1rem auto; }
.modal-verb-option { text-align:left; line-height:1.45; }

.tense-contrast-card { border:2px solid #0284c7; background:linear-gradient(180deg,#f0f9ff,#ffffff); }
.tense-frame-badge {
    width:max-content; max-width:90%; margin:1rem auto; padding:.45rem .8rem;
    border-radius:999px; background:#e0f2fe; font-weight:700;
}
.tense-contrast-grid { max-width:42rem; margin:1rem auto; }

.three-time-card { border:2px solid #0f766e; background:linear-gradient(180deg,#f0fdfa,#ffffff); }
.three-time-board { max-width:58rem; margin:1.2rem auto; display:grid; gap:1rem; }
.three-time-row { padding:1rem; border:1px solid #cbd5e1; border-radius:.9rem; background:#fff; }
.three-time-label { font-weight:800; letter-spacing:.04em; margin-bottom:.45rem; }
.three-time-sentence { font-size:1.1rem; font-weight:650; margin-bottom:.75rem; }
.three-time-options { display:flex; flex-wrap:wrap; justify-content:center; gap:.55rem; }
.three-time-options .selected { outline:3px solid currentColor; transform:translateY(-1px); }
.three-time-models { max-width:42rem; margin:.8rem auto; text-align:left; line-height:1.65; }

.answer-question-card { border:2px solid #16a34a; background:linear-gradient(180deg,#f0fdf4,#ffffff); }
.answer-question-grid { max-width:52rem; margin:1rem auto; }
.answer-question-option { text-align:left; line-height:1.5; }

.follow-up-card { border:2px solid #c026d3; background:linear-gradient(180deg,#fdf4ff,#ffffff); }
.follow-up-dialogue {
    max-width:50rem; margin:1rem auto; padding:1rem 1.2rem;
    border-radius:.9rem; background:#fdf4ff; text-align:left; line-height:1.6;
}
.follow-up-grid { max-width:54rem; margin:1rem auto; }
.follow-up-option { text-align:left; line-height:1.5; }

.answer-ladder-card { border:2px solid #ca8a04; background:linear-gradient(180deg,#fefce8,#ffffff); }
.answer-ladder-question,.answer-ladder-built { max-width:52rem; margin:1rem auto; padding:1rem 1.2rem; border-radius:.9rem; background:#fefce8; }
.answer-ladder-question span { display:block; margin-top:.35rem; font-size:.92rem; opacity:.8; }
.answer-ladder-progress { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; margin:1rem auto; }
.answer-ladder-progress span { padding:.35rem .65rem; border-radius:999px; background:#e5e7eb; }
.answer-ladder-progress .done { background:#dcfce7; }
.answer-ladder-progress .current { background:#fef08a; font-weight:800; }
.answer-ladder-built { text-align:left; }
.answer-ladder-built small { font-weight:700; }
.answer-ladder-built.final { font-size:1.08rem; line-height:1.65; }
.answer-ladder-grid { max-width:54rem; margin:1rem auto; }
.answer-ladder-option { text-align:left; line-height:1.5; }

.register-card { border:2px solid #7c3aed; background:linear-gradient(180deg,#f5f3ff,#ffffff); }
.register-situation {
    max-width:48rem; margin:1rem auto; padding:1rem 1.2rem; border-radius:.9rem;
    background:#f5f3ff; display:grid; gap:.35rem; text-align:left;
}
.register-situation strong { color:#5b21b6; }
.register-grid { max-width:48rem; margin:1rem auto; }
.register-option { text-align:left; line-height:1.5; }

.time-marker-card { border:2px solid #0891b2; background:linear-gradient(180deg,#ecfeff,#ffffff); }
.time-marker-badge {
    width:max-content; max-width:90%; margin:1rem auto; padding:.5rem .85rem;
    border-radius:999px; background:#cffafe;
}
.time-marker-grid { max-width:46rem; margin:1rem auto; }
.time-marker-option { text-align:left; line-height:1.5; }

.opinion-card { border:2px solid #9333ea; background:linear-gradient(180deg,#faf5ff,#ffffff); }
.opinion-prompt {
    max-width:50rem; margin:1rem auto; padding:1rem 1.2rem; border-radius:.9rem;
    background:#faf5ff; display:grid; gap:.35rem; text-align:left;
}
.opinion-prompt span { font-size:.92rem; opacity:.78; }
.opinion-grid { max-width:54rem; margin:1rem auto; }
.opinion-option { text-align:left; line-height:1.5; }

.reflexive-drill-card { border:2px solid #0f766e; background:linear-gradient(180deg,#f0fdfa,#ffffff); }
.reflexive-focus { width:max-content; max-width:90%; margin:1rem auto; padding:.45rem .8rem; border-radius:999px; background:#ccfbf1; font-weight:800; }
.reflexive-drill-grid { max-width:48rem; margin:1rem auto; }
.reflexive-drill-option { text-align:left; line-height:1.5; }

.transformation-card { border:2px solid #ea580c; background:linear-gradient(180deg,#fff7ed,#ffffff); }
.transformation-source {
    max-width:52rem; margin:1rem auto; padding:1rem 1.2rem; border-radius:.9rem;
    background:#fff7ed; display:grid; gap:.35rem; text-align:left;
}
.transformation-source small { font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.transformation-source span { font-size:.92rem; opacity:.78; }
.transformation-task {
    max-width:52rem; margin:.8rem auto; padding:.8rem 1rem; border-left:4px solid #ea580c;
    text-align:left; font-weight:750;
}
.transformation-grid { max-width:54rem; margin:1rem auto; }
.transformation-option { text-align:left; line-height:1.5; }

.error-doctor-card { border:2px solid #e11d48; background:linear-gradient(180deg,#fff1f2,#ffffff); }
.error-doctor-case { max-width:52rem; margin:1rem auto; padding:1rem 1.2rem; border-radius:.9rem; background:#fff1f2; display:grid; gap:.35rem; text-align:left; }
.error-doctor-case small { font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.error-doctor-case span { font-size:.92rem; opacity:.78; }
.error-type-badge { width:max-content; max-width:90%; margin:.7rem auto 1rem; padding:.45rem .8rem; border-radius:999px; background:#ffe4e6; font-weight:750; }
.error-doctor-grid { max-width:54rem; margin:1rem auto; }
.error-doctor-option { text-align:left; line-height:1.5; }

.question-response-card { border:2px solid #2563eb; background:linear-gradient(180deg,#eff6ff,#ffffff); }
.question-response-prompt { max-width:54rem; margin:1rem auto; padding:1rem 1.2rem; border-radius:.9rem; background:#eff6ff; display:grid; gap:.35rem; text-align:left; }
.question-response-prompt small { font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.question-response-prompt span { font-size:.92rem; opacity:.78; }
.question-response-clue { width:max-content; max-width:90%; margin:.7rem auto 1rem; padding:.45rem .8rem; border-radius:999px; background:#dbeafe; font-weight:750; }
.question-response-grid { max-width:58rem; margin:1rem auto; }
.question-response-option { text-align:left; line-height:1.55; }

.question-word-card { border:2px solid #4f46e5; background:linear-gradient(180deg,#eef2ff,#ffffff); }
.question-word-prompt { max-width:52rem; margin:1rem auto; padding:1rem 1.2rem; border-radius:.9rem; background:#eef2ff; display:grid; gap:.35rem; text-align:left; }
.question-word-prompt small { font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.question-word-prompt span { font-size:.92rem; opacity:.78; }
.question-word-grid { max-width:46rem; margin:1rem auto; }
.question-word-option { text-align:left; line-height:1.5; }

.answer-upgrade-card { border:2px solid #16a34a; background:linear-gradient(180deg,#f0fdf4,#ffffff); }
.answer-upgrade-question,.answer-upgrade-basic { max-width:56rem; margin:.8rem auto; padding:.9rem 1.1rem; border-radius:.85rem; display:grid; gap:.3rem; text-align:left; }
.answer-upgrade-question { background:#f8fafc; }
.answer-upgrade-basic { background:#f0fdf4; border-left:4px solid #22c55e; }
.answer-upgrade-question small,.answer-upgrade-basic small { font-weight:800; text-transform:uppercase; letter-spacing:.04em; opacity:.72; }
.answer-upgrade-grid { max-width:60rem; margin:1rem auto; }
.answer-upgrade-option { text-align:left; line-height:1.55; }

.relevance-card { border:2px solid #ca8a04; background:linear-gradient(180deg,#fefce8,#ffffff); }
.relevance-question { max-width:56rem; margin:1rem auto; padding:1rem 1.2rem; border-radius:.9rem; background:#fefce8; display:grid; gap:.35rem; text-align:left; }
.relevance-question small { font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.relevance-question span { font-size:.92rem; opacity:.78; }
.relevance-target { width:max-content; max-width:92%; margin:.7rem auto 1rem; padding:.5rem .85rem; border-radius:999px; background:#fef9c3; }
.relevance-grid { max-width:60rem; margin:1rem auto; }
.relevance-option { text-align:left; line-height:1.55; }

.detail-layer-card { border:2px solid #0891b2; background:linear-gradient(180deg,#ecfeff,#ffffff); }
.detail-layer-question,.detail-layer-starter { max-width:58rem; margin:.8rem auto; padding:.9rem 1.1rem; border-radius:.85rem; display:grid; gap:.3rem; text-align:left; }
.detail-layer-question { background:#f8fafc; }
.detail-layer-starter { background:#ecfeff; border-left:4px solid #06b6d4; }
.detail-layer-question small,.detail-layer-starter small { font-weight:800; text-transform:uppercase; letter-spacing:.04em; opacity:.72; }
.detail-layer-goal { width:max-content; max-width:92%; margin:.8rem auto; padding:.5rem .85rem; border-radius:999px; background:#cffafe; }
.detail-layer-grid { max-width:60rem; margin:1rem auto; }
.detail-layer-option { text-align:left; line-height:1.55; }

.blueprint-card { border:2px solid #0284c7; background:linear-gradient(180deg,#f0f9ff,#ffffff); }
.blueprint-question { max-width:58rem; margin:1rem auto; padding:1rem 1.2rem; border-radius:.9rem; background:#f0f9ff; display:grid; gap:.35rem; text-align:left; }
.blueprint-question small { font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.blueprint-question span { font-size:.92rem; opacity:.78; }
.blueprint-grid { max-width:60rem; margin:1rem auto; }
.blueprint-option { text-align:left; line-height:1.55; }
.blueprint-success { max-width:58rem; margin:.8rem auto; padding:.75rem 1rem; border-radius:.8rem; background:#e0f2fe; font-weight:800; text-align:left; }

.coverage-card { border:2px solid #059669; background:linear-gradient(180deg,#ecfdf5,#ffffff); }
.coverage-bullets,.coverage-response { max-width:60rem; margin:.9rem auto; padding:1rem 1.2rem; border-radius:.9rem; text-align:left; }
.coverage-bullets { background:#f0fdf4; }
.coverage-response { background:#f8fafc; display:grid; gap:.35rem; }
.coverage-bullets small,.coverage-response small { font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.coverage-bullets ul { margin:.55rem 0 0 1.25rem; }
.coverage-grid { max-width:58rem; margin:1rem auto; }
.coverage-option { text-align:left; line-height:1.5; }

.response-repair-card { border:2px solid #ea580c; background:linear-gradient(180deg,#fff7ed,#ffffff); }
.repair-question,.repair-response { max-width:60rem; margin:.9rem auto; padding:1rem 1.2rem; border-radius:.9rem; text-align:left; }
.repair-question { background:#fff7ed; display:grid; gap:.3rem; }
.repair-response { background:#f8fafc; }
.repair-question small,.repair-response small { font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.repair-sentence { display:flex; gap:.7rem; align-items:flex-start; margin:.65rem 0; line-height:1.5; }
.repair-sentence span { min-width:1.8rem; height:1.8rem; display:grid; place-items:center; border-radius:50%; background:#ffedd5; font-weight:800; }
.repair-problem { max-width:58rem; margin:.8rem auto; padding:.65rem .9rem; border-radius:.8rem; background:#ffedd5; }
.repair-grid { max-width:60rem; margin:1rem auto; }
.repair-option { text-align:left; line-height:1.55; }

.selfcheck-card { border:2px solid #9333ea; background:linear-gradient(180deg,#faf5ff,#ffffff); }
.selfcheck-question,.selfcheck-response { max-width:60rem; margin:.9rem auto; padding:1rem 1.2rem; border-radius:.9rem; display:grid; gap:.35rem; text-align:left; }
.selfcheck-question { background:#faf5ff; }
.selfcheck-response { background:#f8fafc; }
.selfcheck-question small,.selfcheck-response small { font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.selfcheck-lens { max-width:52rem; margin:.8rem auto 1rem; display:flex; justify-content:center; gap:.55rem; flex-wrap:wrap; }
.selfcheck-lens span { padding:.45rem .7rem; border-radius:999px; background:#f3e8ff; font-weight:750; }
.selfcheck-grid { max-width:62rem; margin:1rem auto; }
.selfcheck-option { text-align:left; line-height:1.55; }

.exam-coach-card{border:2px solid #d97706;background:linear-gradient(180deg,#fffbeb,#fff)}
.exam-coach-prompt{max-width:60rem;margin:1rem auto;padding:1rem;border-radius:.9rem;background:#fffbeb}
.exam-coach-mantra{max-width:50rem;margin:.8rem auto;padding:.7rem 1rem;border-radius:999px;background:#fef3c7;font-weight:900}
.smart-correction strong{font-style:italic}

/* Version 5.0.0 — Learn gender coding + consistent smart feedback */
.gender-masc { color:#2563eb; }
.gender-fem { color:#dc2626; }
.gender-neut { color:#16a34a; }
.gender-plural { color:#ea580c; }
.learn-gender { font-weight:900; }
.smart-correction {
  max-width:52rem; margin:.65rem auto; padding:.7rem 1rem;
  border-radius:.75rem; background:#f0fdf4; text-align:center;
}
.smart-correction strong { font-style:italic; font-size:1.08em; }
.smart-note { font-size:.94rem; }
.feedback-almost { font-weight:800; }

/* Version 5.0.0 — sentence feedback */
.smart-correction strong, .production-note strong em { font-style:italic; }
.feedback-almost { font-weight:850; }

/* Version 5.0.0 — unified Smart Answer feedback */
.smart-feedback{max-width:54rem;margin:.85rem auto;padding:.85rem 1rem;border-radius:.85rem;text-align:center}
.smart-feedback-correct{background:#f0fdf4}
.smart-feedback-almost{background:#fffbeb}
.smart-feedback-wrong{background:#fef2f2}
.smart-feedback-status{font-weight:900}
.smart-feedback-answer{margin-top:.45rem}
.smart-feedback-answer strong{font-style:italic;font-size:1.08em}
.smart-feedback-note{margin-top:.35rem;font-size:.94rem}
.diagnostic-table-wrap{overflow-x:auto}
.diagnostic-table{width:100%;border-collapse:collapse;margin:1rem 0}
.diagnostic-table th,.diagnostic-table td{padding:.65rem;border-bottom:1px solid #ddd;text-align:left}

/* Version 5.0.0 — core activity consistency */
.option kbd,.article-option kbd{
  display:inline-grid;place-items:center;min-width:1.65rem;height:1.65rem;
  margin-right:.45rem;border-radius:.4rem;font:inherit;font-weight:800;
  background:rgba(127,127,127,.12);
}

/* Version 5.0.0 — consistent laptop shortcut hints */
.choice-grid button kbd,
.answer-options button kbd,
.quiz-options button kbd,
.mc-options button kbd,
#answer-options button kbd,
.auto-key-hint{
  display:inline-grid;
  place-items:center;
  min-width:1.65rem;
  height:1.65rem;
  margin-right:.5rem;
  padding:0 .3rem;
  border-radius:.42rem;
  background:rgba(127,127,127,.12);
  font:inherit;
  font-size:.82em;
  font-weight:850;
  line-height:1;
  vertical-align:middle;
}

/* Version 5.0.0 — learning check at the end of Smart Answer rounds */
.answer-quality-summary{
  max-width:46rem;margin:1rem auto;padding:1rem 1.1rem;border-radius:1rem;
  background:rgba(127,127,127,.07);text-align:center;
}
.answer-quality-summary h3{margin:.1rem 0 .7rem}
.answer-quality-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}
.answer-quality-chips span{
  padding:.38rem .7rem;border-radius:999px;background:rgba(127,127,127,.1);font-weight:750
}
.answer-quality-summary p{margin:.75rem 0 .1rem}

/* Version 5.0.0 — adaptive next-step card */
.adaptive-next-step{
  max-width:48rem;margin:1rem auto 1.2rem;padding:1rem 1.1rem;
  border-radius:1rem;background:rgba(127,127,127,.055);
  display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;align-items:center;text-align:left
}
.adaptive-next-icon{font-size:1.7rem}
.adaptive-next-copy{display:grid;gap:.22rem}
.adaptive-next-copy strong{font-size:1.02rem}
.adaptive-next-copy span{font-size:.92rem;opacity:.82}
.adaptive-next-step .primary{white-space:nowrap}
@media(max-width:650px){
  .adaptive-next-step{grid-template-columns:auto 1fr}
  .adaptive-next-step .primary{grid-column:1/-1;width:100%}
}

/* Version 5.0.0 — precision review */
.precision-review-list{max-width:50rem;margin:1rem auto;display:grid;gap:.65rem}
.precision-review-row{
  display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;
  padding:.85rem 1rem;border-radius:.85rem;background:rgba(127,127,127,.07);text-align:left
}
.precision-review-row>div:first-child{display:grid;gap:.2rem}
.precision-review-row span{font-size:.9rem;opacity:.75}
.precision-review-model strong{font-style:italic;font-size:1.08rem}
@media(max-width:600px){
  .precision-review-row{grid-template-columns:1fr}
}

/* Version 5.0.0 — mastery distinguishes knowledge from precision */
.precision-mastery-panel{border-style:dashed}
.precision-issue{
  display:inline-block;padding:.28rem .55rem;border-radius:999px;
  background:rgba(127,127,127,.1);font-size:.86rem;font-weight:750
}

/* Version 5.0.0 — targeted precision practice */
.precision-action{display:flex;justify-content:center;margin-top:1rem}

/* Version 5.0.0 — revision prescription */
.revision-prescription{
  max-width:58rem;margin:0 auto 1.25rem;padding:1.1rem 1.2rem;border-radius:1.1rem;
  display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;
  background:rgba(127,127,127,.065)
}
.prescription-icon{font-size:2rem}
.prescription-copy{display:grid;gap:.2rem}
.prescription-label{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:850;opacity:.65}
.prescription-copy strong{font-size:1.08rem}
.prescription-copy p{margin:.15rem 0}
.prescription-why{border:0;background:transparent;padding:.15rem 0;text-align:left;text-decoration:underline;font-size:.86rem;opacity:.72;cursor:pointer}
.prescription-explainer{max-width:50rem;margin:1rem auto;text-align:left;display:grid;gap:.65rem}
@media(max-width:680px){
  .revision-prescription{grid-template-columns:auto 1fr}
  .revision-prescription>.primary{grid-column:1/-1;width:100%}
}

/* Version 5.0.0 — confidence calibration */
.confidence-check{width:100%;margin:.25rem 0 .7rem;padding:.75rem;border-radius:.85rem;background:rgba(127,127,127,.06);display:grid;gap:.55rem;text-align:center}
.confidence-check>div{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}
.confidence-button{padding:.4rem .65rem}
.confidence-check small{opacity:.65}
.calibration-card{max-width:58rem;margin:0 auto 1rem;padding:.9rem 1rem;border-radius:1rem;display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;background:rgba(127,127,127,.055)}
.calibration-icon{font-size:1.5rem}.calibration-card p{margin:.25rem 0 0}

/* Version 5.0.0 — Learn lexical colour coding
   Full article+noun chunk is coloured because gender belongs to the noun as a lexical unit. */
.learn-word-chunk{display:inline-block;font-weight:900}
.learn-gender-masc{color:#2563eb}
.learn-gender-fem{color:#dc2626}
.learn-gender-neut{color:#16a34a}
.learn-gender-plural{color:#ea580c}
.learn-type-noun{color:#475569}
.learn-type-verb{color:#7c3aed}
.learn-type-adjective{color:#0891b2}
.learn-type-adverb{color:#0f766e}
.learn-type-preposition{color:#9333ea}
.learn-type-conjunction{color:#a16207}
.learn-type-pronoun{color:#be185d}
.learn-type-other{color:inherit}
.learn-wordtype-badge{
  display:block;width:max-content;max-width:100%;margin:.38rem auto 0;
  padding:.18rem .5rem;border:1px solid currentColor;border-radius:999px;
  font-size:.7rem;font-weight:800;letter-spacing:.035em;opacity:.78
}
.learn-colour-legend{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin:.3rem auto .8rem;
  font-size:.75rem;font-weight:850
}
.learn-colour-legend span{
  padding:.18rem .45rem;border:1px solid currentColor;border-radius:999px
}

/* Version 5.0.0 — colour-coded corrective models */
.smart-correction em{font-style:italic}
.correction-colour-legend{display:flex;justify-content:center;gap:.45rem;font-size:.72rem;font-weight:850}

/* Version 5.0.0 — noun scoring clarity */
.noun-scoring-guide{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin:.35rem auto .8rem}
.noun-scoring-guide span,.article-bonus-state{padding:.3rem .58rem;border-radius:999px;font-size:.8rem;font-weight:800;background:rgba(127,127,127,.08)}
.article-bonus-state{display:block;width:max-content;max-width:100%;margin:.55rem auto}
.article-bonus-earned{outline:1px solid rgba(22,163,74,.35)}
.article-bonus-open{outline:1px solid rgba(234,88,12,.3)}
.article-bonus-missed{outline:1px solid rgba(220,38,38,.28)}

/* Version 5.0.0 — keyboard-first productive recall */
.primary kbd{
  margin-left:.45rem;padding:.14rem .38rem;border-radius:.35rem;
  background:rgba(255,255,255,.18);font:inherit;font-size:.72em;font-weight:800
}
.keyboard-next::after{
  content:"  ↵";font-size:.8em;opacity:.72
}

/* Version 5.0.0 — sentence translation transparency */
.sentence-variation-note{max-width:46rem;margin:.55rem auto;font-size:.86rem}
.sentence-answer-input:focus{outline-width:2px}

/* Version 5.0.0 — verified alternative review */
.verified-alternatives{
  max-width:48rem;margin:.6rem auto;padding:.65rem .8rem;border-radius:.8rem;
  background:rgba(127,127,127,.06);display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;align-items:center
}
.verified-alternatives>span{font-size:.78rem;font-weight:850;opacity:.68}
.verified-alternatives em{
  padding:.22rem .48rem;border-radius:.55rem;background:rgba(127,127,127,.08);font-weight:700
}

/* Version 5.0.0 — translation flexibility */
.translation-flexibility-win{
  max-width:46rem;margin:.55rem auto;padding:.5rem .7rem;border-radius:.8rem;
  background:rgba(22,163,74,.08);font-weight:800
}
.language-flexibility-card{
  max-width:58rem;margin:0 auto 1rem;padding:.9rem 1rem;border-radius:1rem;
  display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;
  background:rgba(22,163,74,.055)
}
.language-flexibility-card>span{font-size:1.5rem}
.language-flexibility-card p{margin:.25rem 0 0}

/* Version 5.0.0 — confidence challenge */
.calibration-action{
  margin-top:.5rem;padding:.4rem .65rem;border-radius:.6rem;
  font-weight:800;cursor:pointer
}
.confidence-round-summary{
  max-width:50rem;margin:1rem auto;padding:.85rem 1rem;border-radius:.9rem;
  background:rgba(127,127,127,.065);text-align:left
}
.confidence-round-summary p{margin:.3rem 0 0}

/* Version 5.0.0 — spaced retrieval */
.due-review-card{max-width:58rem;margin:0 auto 1rem;padding:.9rem 1rem;border-radius:1rem;display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;background:rgba(127,127,127,.055)}
.due-review-icon{font-size:1.5rem}.due-review-card p{margin:.25rem 0 0}
@media(max-width:680px){.due-review-card{grid-template-columns:auto 1fr}.due-review-card>.primary{grid-column:1/-1;width:100%}}

/* Version 5.0.0 — retrieval strength */
.retrieval-strength-card{
  max-width:58rem;margin:0 auto 1rem;padding:.9rem 1rem;border-radius:1rem;
  display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;
  background:rgba(127,127,127,.055)
}
.retrieval-strength-card>span{font-size:1.5rem}
.retrieval-strength-card p{margin:.25rem 0 0}

/* Version 5.0.0 — adaptive review mode */
.adaptive-review-banner{
  max-width:48rem;margin:0 auto .8rem;padding:.55rem .7rem;border-radius:.8rem;
  background:rgba(127,127,127,.06);display:grid;gap:.15rem;text-align:left
}
.adaptive-review-banner span{font-size:.78rem;opacity:.72}

/* Version 5.0.0 — adaptive retrieval ladder */
.adaptive-review-banner strong{letter-spacing:.01em}

/* Version 5.0.0 — stage-local adaptation */
.adaptive-review-banner span{line-height:1.35}

/* Version 5.0.0 — adaptive repair pass */
.adaptive-review-banner strong{display:block}

/* Version 5.0.0 — repair recovery */
.adaptive-repair-summary{max-width:50rem;margin:1rem auto;padding:.85rem 1rem;border-radius:.9rem;background:rgba(22,163,74,.06);text-align:left}
.adaptive-repair-summary p{margin:.3rem 0 0}

/* Version 5.0.0 — repair memory */
.repair-memory-card{
  max-width:58rem;margin:0 auto 1rem;padding:.9rem 1rem;border-radius:1rem;
  display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;
  background:rgba(127,127,127,.055)
}
.repair-memory-card>span{font-size:1.5rem}
.repair-memory-card p{margin:.25rem 0 0}

/* Version 5.0.0 — delayed repair confirmation */
.repair-confirmed-card{
  max-width:58rem;margin:0 auto 1rem;padding:.9rem 1rem;border-radius:1rem;
  display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;
  background:rgba(22,163,74,.055)
}
.repair-confirmed-card>span{font-size:1.35rem;font-weight:900}
.repair-confirmed-card p{margin:.25rem 0 0}

/* Version 5.0.0 — stability repair + simplified Learn */
.learn-actions{justify-content:center}
.learn-actions .primary{min-width:9rem}

/* Version 5.0.0 — meaningful levels only where scaffolding actually changes */
.scaffold-note{
  max-width:46rem;margin:.55rem auto;padding:.45rem .65rem;border-radius:.7rem;
  background:rgba(127,127,127,.06);font-size:.88rem;text-align:center
}
.translation-word-bank{
  max-width:48rem;margin:.65rem auto;padding:.65rem .75rem;border-radius:.8rem;
  background:rgba(127,127,127,.06);display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;align-items:center
}
.translation-word-bank>span{font-size:.78rem;font-weight:850;opacity:.65}
.translation-word-bank em{padding:.2rem .45rem;border-radius:.5rem;background:rgba(127,127,127,.08);font-style:normal;font-weight:700}

/* Version 5.0.0 — temporary build marker + visible typed feedback */
.sprint-build-badge{
  position:fixed;right:12px;bottom:12px;z-index:9999;
  padding:6px 10px;border-radius:999px;background:#111827;color:#fff;
  font-size:.75rem;font-weight:850;box-shadow:0 2px 10px rgba(0,0,0,.18)
}
[id$="-feedback"]:not(:empty){
  max-width:52rem;margin:.7rem auto;padding:.65rem .8rem;border-radius:.75rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — cache/engine diagnostics */
.checker-build-stamp{margin-top:.45rem;font-size:.68rem;font-weight:750;opacity:.55}
.sprint-build-badge.stale-engine{background:#b91c1c}

/* Version 5.0.0 — stable direct typed feedback */
.s137-feedback{max-width:52rem;margin:.7rem auto;padding:.8rem 1rem;border-radius:.85rem;text-align:center}
.s137-feedback.correct{background:#f0fdf4}
.s137-feedback.almost{background:#fffbeb}
.s137-feedback.wrong{background:#fef2f2}
.s137-feedback>div{margin-top:.3rem}
.s137-feedback em{font-weight:800}


/* Version 5.0.0 — stable typed-answer event routing */
.s138-fatal{
  margin:.65rem auto;padding:.8rem 1rem;border-radius:.8rem;
  background:#fef2f2;border:1px solid #fecaca;text-align:center
}
.s138-fatal small{display:block;margin-top:.35rem;opacity:.7}

/* Version 5.0.0 — sentence translation retry + help */
.sentence-translation-actions{
  display:flex;justify-content:center;gap:.55rem;flex-wrap:wrap
}
.translation-retry-feedback{
  max-width:52rem;margin:.7rem auto;padding:.8rem 1rem;border-radius:.85rem;
  background:#fffbeb;text-align:center
}
.translation-retry-feedback p{margin:.35rem 0 0}
.translation-help-box{
  max-width:52rem;margin:.65rem auto;padding:.8rem 1rem;border-radius:.85rem;
  background:rgba(127,127,127,.06);text-align:center
}
.translation-initials{
  margin:.5rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-weight:800;letter-spacing:.04em;font-size:1.05rem
}

/* Version 5.0.0 — progressive help + replay */
.productive-help-actions{display:flex;justify-content:center;gap:.55rem;flex-wrap:wrap}
.secondary-action{font-weight:750}

.help-xp-note{display:block;margin-top:.45rem;opacity:.78}

/* Version 5.0.0 — round momentum + personal best */
.round-momentum{
  max-width:38rem;margin:1rem auto;padding:.8rem 1rem;border-radius:.9rem;
  background:rgba(127,127,127,.06);text-align:center
}
.round-best-line{margin-top:.35rem;font-size:.82rem;opacity:.72;font-weight:700}

/* Version 5.0.0 — fresh round selection */
.another-round-note{
  display:block;width:100%;text-align:center;margin-top:-.2rem;
  font-size:.72rem;opacity:.62
}

/* Version 5.0.0 — focused retry */
.mistake-retry-button{font-weight:850}

/* Version 5.0.0 — mistake repair loop */
.repair-round-summary{
  max-width:38rem;margin:.85rem auto;padding:.8rem 1rem;border-radius:.9rem;
  background:rgba(127,127,127,.07);text-align:center
}
.repair-round-summary.repair-complete{background:#f0fdf4}
.repair-round-summary div{margin-top:.3rem}
.repair-round-summary small{display:block;margin-top:.3rem;opacity:.72}

/* Version 5.0.0 — clearer post-round decisions */
.practice-next{max-width:44rem;margin:1.1rem auto}
.practice-next-heading{text-align:center;font-weight:850;margin-bottom:.6rem}
.practice-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}
.practice-choice{display:flex;flex-direction:column;gap:.28rem;text-align:left;padding:.85rem 1rem;border-radius:.9rem;cursor:pointer}
.practice-choice-title{font-weight:900;font-size:1rem}
.practice-choice-detail{font-size:.78rem;opacity:.75;line-height:1.35}
.repair-mode-label{display:inline-block;margin-bottom:.5rem;padding:.3rem .65rem;border-radius:999px;background:rgba(127,127,127,.09);font-size:.75rem;font-weight:850}

/* Version 5.0.0 — visible result actions */
.practice-next-heading{margin-top:1.1rem;text-align:center;font-weight:900}
.result-buttons .practice-action{font-weight:900}

/* Version 5.0.0 — easy translation missing-letter scaffold */
.translation-letter-scaffold{
  max-width:52rem;margin:.7rem auto;padding:.85rem 1rem;border-radius:.9rem;
  background:rgba(127,127,127,.06);text-align:center
}
.easy-letter-pattern{font-size:1.08rem;word-spacing:.35rem}

/* Version 5.0.0 — balanced Easy cloze */
.easy-letter-pattern{line-height:1.8;letter-spacing:.045em}
.translation-letter-scaffold small{display:block;margin-top:.35rem;opacity:.68}

/* Version 5.0.0 — keyboard-first flow */
.practice-action kbd{
  margin-left:.35rem;padding:.08rem .32rem;border-radius:.3rem;
  font-size:.7rem;opacity:.7
}

/* Version 5.0.0 — visible answer-choice keyboard shortcuts */
.choice-key-hint{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:1.45rem;height:1.45rem;margin-right:.5rem;padding:0 .25rem;
  border-radius:.35rem;font-size:.72rem;font-weight:900;line-height:1;
  opacity:.72;vertical-align:middle
}

/* Version 5.0.0 — keyboard feedback + accessibility */
.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important
}
.keyboard-picked{
  transform:scale(.985);
  outline:3px solid currentColor!important;
  outline-offset:2px
}
.choice-key-hint{pointer-events:none}

/* Version 5.0.0 — keyboard shortcut guide */
.keyboard-guide-button{
  position:fixed;left:1rem;bottom:1rem;z-index:900;
  padding:.5rem .7rem;border-radius:999px;font-size:.76rem;font-weight:850
}
.keyboard-guide-overlay{
  position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.46);
  display:flex;align-items:center;justify-content:center;padding:1rem
}
.keyboard-guide-card{
  position:relative;width:min(36rem,94vw);max-height:85vh;overflow:auto;
  padding:1.15rem;border-radius:1rem;background:var(--card-bg,#fff);
  box-shadow:0 20px 55px rgba(0,0,0,.25)
}
.keyboard-guide-card h3{text-align:center;margin:.15rem 0 1rem}
.keyboard-guide-close{
  position:absolute;right:.65rem;top:.55rem;border:0;background:transparent;
  font-size:1.5rem;line-height:1;cursor:pointer
}
.keyboard-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.keyboard-guide-grid>div{
  display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;
  border-radius:.65rem;background:rgba(127,127,127,.07)
}
.keyboard-guide-grid kbd{min-width:2.5rem;text-align:center;font-weight:900}
.keyboard-guide-grid span{font-size:.8rem}
.keyboard-guide-card>small{display:block;margin-top:.8rem;text-align:center;opacity:.7;line-height:1.4}
@media(max-width:560px){
  .keyboard-guide-grid{grid-template-columns:1fr}
  .keyboard-guide-button span{display:none}
}

/* Version 5.0.0 — prominent mistake repair + recovery XP */
.repair-callout{
  max-width:44rem;margin:1.15rem auto;padding:1rem 1.05rem;border-radius:1rem;
  background:#fff7ed;border:2px solid #fb923c;
  display:flex;align-items:center;justify-content:space-between;gap:1rem
}
.repair-callout-copy{display:flex;flex-direction:column;gap:.3rem}
.repair-callout-copy strong{font-size:1.02rem}
.repair-callout-copy span{font-size:.82rem;line-height:1.4}
.repair-hero-button{
  flex:0 0 auto;padding:.8rem 1rem;border-radius:.8rem;
  background:#ea580c;color:#fff;border:0;font-weight:900;cursor:pointer
}
.repair-hero-button kbd{margin-left:.35rem;opacity:.78}
.recovery-xp-summary{margin-top:.5rem;font-weight:850}
@media(max-width:620px){
  .repair-callout{flex-direction:column;align-items:stretch;text-align:center}
  .repair-hero-button{width:100%}
}

/* Version 5.0.0 — Learn mode flow */
.learn-flashcard kbd,.learn-actions kbd{
  margin-left:.25rem;padding:.08rem .3rem;border-radius:.3rem;
  font-size:.68rem;opacity:.68
}
.learn-colour-legend{max-width:42rem}

/* Version 5.0.0 — Learn direction awareness */
.learn-direction-progress{
  display:flex;justify-content:center;align-items:center;gap:.55rem;
  width:max-content;max-width:100%;margin:.15rem auto .45rem;
  padding:.28rem .58rem;border-radius:999px;background:rgba(127,127,127,.07);
  font-size:.73rem
}
.learn-direction-progress strong{font-variant-numeric:tabular-nums}
.learn-direction-summary{
  display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem;margin:.65rem auto
}
.learn-direction-summary span{
  padding:.38rem .65rem;border-radius:.65rem;background:rgba(127,127,127,.07);
  font-size:.82rem
}

/* Version 5.0.0 — true two-way Learn review */
.learn-direction-summary strong{font-variant-numeric:tabular-nums}

/* Version 5.0.0 — revision balance */
.balance-row{
  display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,2fr) 3rem;
  gap:.7rem;align-items:center;margin:.7rem 0
}
.balance-row>div:first-child{display:flex;justify-content:space-between;gap:.7rem;font-size:.82rem}
.balance-row>div:first-child strong{font-size:.72rem;opacity:.7}
.balance-track{height:.55rem;border-radius:999px;background:rgba(127,127,127,.12);overflow:hidden}
.balance-track i{display:block;height:100%;background:currentColor;border-radius:inherit;opacity:.62}
.balance-row>b{text-align:right;font-size:.78rem}
.balance-recommendation{
  margin-top:.9rem;padding:.7rem .8rem;border-radius:.75rem;
  background:rgba(127,127,127,.06);font-size:.82rem;line-height:1.4
}
@media(max-width:620px){
  .balance-row{grid-template-columns:1fr 3rem}
  .balance-row>div:first-child{grid-column:1/-1}
}

/* Version 5.0.0 — actionable revision balance */
.balance-action-card{
  margin-top:1rem;padding:.85rem;border-radius:.85rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:rgba(127,127,127,.055)
}
.balance-action-copy{display:flex;align-items:flex-start;gap:.65rem}
.balance-action-icon{font-size:1.35rem}
.balance-action-copy p{margin:.18rem 0 .25rem;font-size:.8rem;line-height:1.4}
.balance-action-copy small{opacity:.72}
.balance-menu-banner{
  max-width:48rem;margin:.6rem auto 1rem;padding:.75rem .9rem;border-radius:.8rem;
  background:rgba(127,127,127,.07);display:flex;flex-direction:column;gap:.2rem
}
.balance-menu-banner span{font-size:.8rem;opacity:.8}
@media(max-width:650px){
  .balance-action-card{flex-direction:column;align-items:stretch}
}

/* Version 5.0.0 — revision variety */
.variety-insight{
  margin-top:.85rem;padding:.75rem .85rem;border-radius:.8rem;
  display:flex;align-items:flex-start;gap:.7rem;background:rgba(127,127,127,.045)
}
.variety-icon{font-size:1.3rem;line-height:1.2}
.variety-insight p{margin:.2rem 0;font-size:.8rem;line-height:1.4}
.variety-insight small{opacity:.72;line-height:1.35}
.variety-comfort{border-left:4px solid currentColor}

/* Version 5.0.0 — consistency */
.consistency-card{
  margin-top:.85rem;padding:.75rem .85rem;border-radius:.8rem;
  background:rgba(127,127,127,.055);line-height:1.4
}
.consistency-card p{margin:.25rem 0;font-size:.82rem}
.consistency-card small{opacity:.72}

/* Version 5.0.0 — revision milestones */
.milestone-card{
  margin-top:.8rem;padding:.75rem;border-radius:.8rem;
  display:flex;gap:.7rem;align-items:flex-start;
  background:rgba(127,127,127,.05)
}
.milestone-card span{font-size:1.35rem}
.milestone-card p{margin:.2rem 0;font-size:.8rem;line-height:1.4}

/* Version 5.0.0 — Smart Revision */
.smart-revision-card{
  margin-top:.8rem;padding:.8rem;border-radius:.8rem;
  display:flex;gap:.7rem;align-items:flex-start;
  background:rgba(127,127,127,.06)
}
.smart-revision-card span{font-size:1.35rem}
.smart-revision-card p{margin:.2rem 0;font-size:.8rem;line-height:1.4}

/* Version 5.0.0 — Smart Revision reasoning */
.smart-reasons{
  margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.55rem
}
.smart-reason{
  display:flex;align-items:center;gap:.45rem;padding:.45rem .6rem;
  border-radius:.65rem;background:rgba(127,127,127,.06)
}
.smart-reason span{font-size:1.05rem}
.smart-reason small{
  display:block;font-size:.72rem;opacity:.7
}

/* Version 5.0.0 — Smart Revision pathway */
.smart-pathway-card{
  margin-top:1rem;padding:1rem;border-radius:1rem;
  background:rgba(127,127,127,.07)
}
.smart-pathway-title{
  display:flex;align-items:center;gap:.5rem;font-size:1rem
}
.smart-pathway-card p{
  margin:.45rem 0 .8rem;font-size:.82rem;line-height:1.4
}

/* Version 5.0.0 — topic-aware Smart Revision */
.smart-topic-card{
  margin-top:.8rem;padding:.8rem;border-radius:.8rem;
  display:flex;gap:.6rem;align-items:flex-start;
  background:rgba(127,127,127,.05)
}
.smart-topic-card span{font-size:1.25rem}
.smart-topic-card p{margin:.2rem 0;font-size:.8rem;line-height:1.4}

/* Version 5.0.0 — priority engine preview */
.priority-preview{
  margin-top:.8rem;display:flex;flex-direction:column;gap:.5rem
}
.priority-item{
  padding:.6rem .7rem;border-radius:.7rem;
  background:rgba(127,127,127,.06);
  display:flex;flex-direction:column;gap:.15rem
}
.priority-item span{font-size:.8rem;opacity:.75}

/* Version 5.0.0 — Smart priority signals */
.priority-signals{
  margin-top:.8rem;padding:.7rem;border-radius:.8rem;
  display:flex;flex-wrap:wrap;gap:.5rem;
  background:rgba(127,127,127,.05)
}
.priority-signals span{
  padding:.3rem .5rem;border-radius:.5rem;
  background:rgba(127,127,127,.08);font-size:.75rem
}

/* Version 5.0.0 — smart skill signals */
.smart-skill-signals{
  margin-top:.8rem;padding:.7rem;border-radius:.8rem;
  display:flex;flex-wrap:wrap;gap:.5rem;
  background:rgba(127,127,127,.05)
}
.smart-skill-signals span{
  padding:.3rem .5rem;border-radius:.5rem;
  background:rgba(127,127,127,.08);font-size:.75rem
}

/* Version 5.0.0 — Smart recommendation cards */
.smart-recommendation-card{
  margin-top:1rem;padding:1rem;border-radius:1rem;
  background:rgba(127,127,127,.07)
}
.smart-rec-header{
  display:flex;gap:.5rem;align-items:center;font-size:1rem
}
.smart-rec-reasons{
  display:flex;flex-direction:column;gap:.2rem;
  margin-top:.5rem;font-size:.8rem
}

/* Version 5.0.0 — connected recommendation */
.smart-recommendation-card{
  border-left:4px solid currentColor
}

/* Version 5.0.0 — multi-factor ranking */
.smart-recommendation-card + .smart-recommendation-card{
  margin-top:.8rem
}

/* Version 5.0.0 — topic candidates */
.smart-topic-card{
  margin-top:.8rem;
}

/* Version 5.0.0 — skill gap candidates */
.smart-skill-gap-card{
  margin-top:.8rem;
}

/* Version 5.0.0 — smart final ranking */
.smart-ranking-card{
  margin-top:1rem;padding:1rem;border-radius:1rem;
  background:rgba(127,127,127,.07)
}
.smart-ranking-item{
  margin-top:.5rem;padding:.55rem;border-radius:.6rem;
  background:rgba(127,127,127,.05);
  display:flex;flex-direction:column
}
.smart-ranking-item span{font-size:.8rem;opacity:.75}

/* Version 5.0.0 — recommendation explanations */
.smart-explanation{
  margin-top:.7rem;
  padding:.7rem;
  border-radius:.8rem;
  background:rgba(127,127,127,.05);
  display:flex;
  flex-direction:column;
  gap:.25rem;
  font-size:.82rem;
}

/* Version 5.0.0 — Smart Revision visible panel */
.smart-revision-panel{
  margin-top:1rem;padding:1rem;border-radius:1rem;
  background:rgba(127,127,127,.06)
}
.smart-revision-panel h2{
  margin-top:0
}

/* Version 5.0.0 — smart action button */
.smart-action-button{
  margin-top:.8rem;
  padding:.7rem 1rem;
  border-radius:.8rem;
  cursor:pointer;
}

/* Version 5.0.0 — Smart feedback loop */
.smart-completion-card{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — Smart success recognition */
.smart-success-card{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — Smart progress comparison */
.smart-progress-card{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — Smart result impact */
.smart-result-impact{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — Smart mastery */
.smart-mastery-card{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — mastery recommendations */
.smart-mastery-recommendation{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — Smart mastery dashboard */
.smart-mastery-dashboard{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}
.mastery-topic{
  display:flex;
  gap:.5rem;
  align-items:center;
  margin-top:.5rem;
  padding:.5rem;
  border-radius:.6rem;
  background:rgba(127,127,127,.05)
}
.mastery-topic small{
  margin-left:auto;
  opacity:.75
}

/* Version 5.0.0 — mastery recommendation link */
.smart-mastery-link-card{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — subtopic mastery */
.subtopic-mastery-card{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}
.subtopic-item{
  display:flex;
  gap:.5rem;
  align-items:center;
  margin-top:.5rem;
  padding:.5rem;
  border-radius:.6rem;
  background:rgba(127,127,127,.05)
}
.subtopic-item small{
  margin-left:auto;
  opacity:.75
}

/* Version 5.0.0 — subtopic recommendation */
.smart-subtopic-recommendation{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — activity explanation */
.smart-activity-explanation{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — smart choice feedback */
.smart-choice-feedback{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}
.smart-choice-feedback button{
  margin:.25rem;
  padding:.5rem .8rem;
  border-radius:.6rem
}

/* Version 5.0.0 — Smart reflection */
.smart-reflection-card{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}
.smart-reflection-card button{
  margin:.25rem;
  padding:.5rem .8rem;
  border-radius:.6rem
}

/* Version 5.0.0 — Smart learning profile */
.smart-learning-profile{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — verb practice */
.verb-practice-panel{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — verb activities */
.verb-activities-panel{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}
.verb-activities-panel button{
  margin:.25rem;
  padding:.5rem .8rem;
  border-radius:.6rem
}

/* Version 5.0.0 — verb challenge */
.verb-question-card{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}
.verb-answer-input{
  padding:.5rem;
  border-radius:.5rem
}

/* Version 5.0.0 — verb feedback */
.verb-feedback{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — smart verb feedback */
.verb-smart-feedback{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — perfect tense */
.perfect-tense-panel{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — verb section */
.verb-section{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}
.verb-section button{
  margin:.25rem;
  padding:.5rem .8rem;
  border-radius:.6rem
}

/* Version 5.0.0 — verb activity integration */
.verb-choice-panel{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}
.verb-choice-panel button{
  margin:.25rem;
  padding:.5rem .8rem;
  border-radius:.6rem
}

/* Version 5.0.0 — release status */
.release-status-panel{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — release candidate */
.release-info-panel{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — deployment */
.deployment-panel{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — teacher testing */
.teacher-test-panel{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — student release */
.student-release-panel{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — deployment ready */
.deployment-ready-panel{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — deployment guide */
.edgeone-guide-panel{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — deployment pack */
.teacher-guide-panel{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 — final release */
.final-release-panel{
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:rgba(127,127,127,.06)
}

/* Version 5.0.0 student release */
.student-version{
  margin-top:1rem;
  opacity:.75;
  text-align:center
}

/* Version 5.0.0 accordion dashboard */
.dashboard-accordion{
  margin:.5rem 0;
}
.accordion-header{
  width:100%;
  text-align:left;
  padding:1rem;
  border-radius:.8rem;
}
.accordion-content{
  padding:1rem;
  display:none;
}

/* Version 5.0.0 dashboard interaction */
.dashboard-accordion.open .accordion-content{
  display:block;
}

.dashboard-accordion .accordion-header{
  cursor:pointer;
}

/* Version 5.0.0 dashboard integration */
.dashboard-panel{margin:.6rem 0;border-radius:1rem;overflow:hidden;}
.dashboard-header{width:100%;text-align:left;padding:1rem;font-size:1rem;cursor:pointer;}
.dashboard-body{display:none;padding:.8rem;}
.dashboard-body.open{display:block;}


/* ==================================================
   Version 5.0.0 — organised activity menus
   ================================================== */

.activity-category-stack{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
}

.learning-category{
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 6px 20px rgba(15,23,42,.06);
}

.learning-category > summary{
    list-style:none;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto auto;
    align-items:center;
    gap:12px;
    padding:16px 18px;
    cursor:pointer;
    user-select:none;
}

.learning-category > summary::-webkit-details-marker{display:none}
.learning-category > summary::marker{display:none}

.learning-category[open] > summary{
    border-bottom:1px solid #edf1f6;
    background:#fbfcff;
}

.learning-category-icon{
    font-size:1.35rem;
    line-height:1;
}

.learning-category-copy{
    min-width:0;
}

.learning-category-copy strong{
    display:block;
    font-size:1.02rem;
}

.learning-category-copy small{
    display:block;
    margin-top:3px;
    color:var(--muted);
    line-height:1.35;
}

.learning-category-count{
    min-width:30px;
    padding:4px 9px;
    border-radius:999px;
    background:#eef2ff;
    color:var(--blue);
    font-size:.78rem;
    font-weight:800;
    text-align:center;
}

.learning-category-chevron{
    color:var(--muted);
    font-size:1.2rem;
    transition:transform .15s ease;
}

.learning-category[open] .learning-category-chevron{
    transform:rotate(180deg);
}

.learning-category-body{
    padding:14px;
}

.category-card-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:14px;
}

.category-card-grid .activity-card{
    margin:0;
    box-shadow:none;
    height:100%;
}

#verbs.dashboard-body.open,
#vocab.dashboard-body.open,
#smart.dashboard-body.open,
#progress.dashboard-body.open{
    animation:v500PanelIn .14s ease-out;
}

@keyframes v500PanelIn{
    from{opacity:.2;transform:translateY(-3px)}
    to{opacity:1;transform:none}
}

@media(max-width:700px){
    .learning-category > summary{
        grid-template-columns:auto minmax(0,1fr) auto;
    }
    .learning-category-count{display:none}
    .learning-category-chevron{grid-column:3}
    .category-card-grid{
        grid-template-columns:1fr;
    }
}

/* Version 5.0.0 — General Core Language subtopic grouping */
.general-core-stack{display:grid;gap:.75rem}
.general-core-everything{margin-bottom:.15rem}
.general-core-everything .subtopic-card{width:100%}
.general-core-stack .learning-category-body .subtopic-card{width:100%;height:100%}


/* Version 5.10.2 — organised student learning paths */
.learning-accordion{display:grid;gap:12px;margin-top:18px}
.learning-panel{border:1px solid #dbe3ee;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.featured-learning-panel{border-color:#c7d2fe;background:#fbfcff}
.learning-header{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;align-items:center;text-align:left;border:0;background:transparent;padding:16px 18px;cursor:pointer;color:#172033}
.learning-header:hover{background:#f8fafc}
.learning-header span{font-size:1.05rem;font-weight:800;grid-column:1}
.learning-header small{grid-column:1;color:#64748b;font-weight:500;line-height:1.35}
.learning-header b{grid-column:2;grid-row:1/3;font-size:1.2rem;color:#64748b}
.learning-body{display:none;padding:0 14px 14px;gap:10px}
.learning-body.open{display:grid}
.learning-note{padding:10px 12px;border-radius:10px;background:#eef2ff;color:#3730a3;font-size:.92rem}
.learning-activity-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e6ebf2;border-radius:12px;background:#fff}
.learning-activity-card.disabled{opacity:.55}
.learning-activity-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.learning-activity-copy span{font-size:.9rem;color:#64748b;line-height:1.35}
.learning-activity-card>button,.learning-activity-card .difficulty-buttons button{border:1px solid #dbe3ee;background:#f8fafc;border-radius:9px;padding:8px 11px;font-weight:700;cursor:pointer}
.learning-activity-card>button:hover,.learning-activity-card .difficulty-buttons button:hover{background:#eef2ff}
.compact-difficulty{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.compact-pathway{margin-bottom:14px}
.compact-recommendation small{display:block;margin-top:4px;color:#64748b}
@media(max-width:680px){
 .learning-activity-card{grid-template-columns:auto 1fr}
 .learning-activity-card>button,.learning-activity-card>.difficulty-buttons{grid-column:1/-1;width:100%}
 .learning-activity-card>button{width:100%}
 .compact-difficulty{justify-content:stretch}
 .compact-difficulty button{flex:1}
 .learning-pathway.compact-pathway{overflow-x:auto;justify-content:flex-start}
}


/* Version 5.10.2 nested vocabulary hierarchy */
.vocabulary-topic-body { padding: 10px 12px 14px; }
.nested-subtopic-panel { border-top: 1px solid #e8edf4; }
.nested-subtopic-header { width:100%; display:flex; align-items:center; gap:12px; text-align:left; border:0; background:transparent; padding:13px 8px; cursor:pointer; }
.nested-subtopic-header span { flex:1; font-weight:700; }
.nested-subtopic-header small { color:#64748b; }
.nested-subtopic-body { display:none; padding:0 8px 12px 24px; }
.nested-subtopic-body.open { display:block; }
.nested-subtopic-open { border:1px solid #dbe3ee; background:#fff; border-radius:10px; padding:10px 14px; cursor:pointer; font-weight:700; }
.whole-topic-panel { padding:12px 8px 0; }
.dev-error-details { margin-top:16px; text-align:left; }
.dev-error-details code { display:block; white-space:pre-wrap; overflow-wrap:anywhere; margin-top:8px; padding:10px; background:#f8fafc; border-radius:8px; font-size:.82rem; }


/* Version 5.10.2 — grammar feedback uses the shared vocabulary smart-feedback component. */
.grammar-feedback { margin:14px 0; min-height:1.5rem; }
.grammar-feedback .smart-feedback { margin:.85rem 0; }

/* Version 5.10.2 — explicit grammar feedback colours. JS also applies these inline. */
.grammar-feedback-correct{background:#dcfce7!important;border:2px solid #16a34a!important;color:#166534!important;border-radius:12px!important;padding:14px 16px!important}
.grammar-feedback-wrong{background:#fee2e2!important;border:2px solid #dc2626!important;color:#991b1b!important;border-radius:12px!important;padding:14px 16px!important}


/* Version 5.10.2 — final grammar result cards. Keep LAST in stylesheet. */
#ig-feedback.grammar-feedback-correct {
  display:block !important;
  background-color:#dcfce7 !important;
  border:2px solid #16a34a !important;
  color:#166534 !important;
  border-radius:12px !important;
  padding:14px 16px !important;
  margin:14px 0 !important;
  font-weight:700 !important;
}
#ig-feedback.grammar-feedback-wrong {
  display:block !important;
  background-color:#fee2e2 !important;
  border:2px solid #dc2626 !important;
  color:#991b1b !important;
  border-radius:12px !important;
  padding:14px 16px !important;
  margin:14px 0 !important;
  font-weight:700 !important;
}


/* Version 5.10.2 — definitive grammar result cards.
   Applies to BOTH #ig-feedback and #core-grammar-feedback. */
.grammar-feedback-host{min-height:0;margin:14px 0;}
.grammar-feedback-host:empty{display:none;}
.grammar-feedback-host .grammar-result-card{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:15px 18px !important;
  border-radius:12px !important;
  border-style:solid !important;
  border-width:2px !important;
  text-align:left !important;
  font-weight:700 !important;
  opacity:1 !important;
  visibility:visible !important;
}
.grammar-feedback-host .grammar-result-correct{
  background:#dcfce7 !important;
  border-color:#16a34a !important;
  color:#166534 !important;
}
.grammar-feedback-host .grammar-result-wrong{
  background:#fee2e2 !important;
  border-color:#dc2626 !important;
  color:#991b1b !important;
}
.grammar-feedback-host .smart-feedback-status{font-size:1.05rem;font-weight:900 !important;}
.grammar-feedback-host .smart-feedback-answer{margin-top:6px !important;color:inherit !important;}
.grammar-feedback-host .smart-feedback-answer strong{color:inherit !important;font-style:normal !important;}


/* Version 5.10.2 — make English grammar translations part of the prompt, not surrounding instructions. */
.core-grammar-activity .grammar-prompt-card {
    padding:0;
    overflow:hidden;
}
.core-grammar-activity .grammar-german-sentence {
    padding:1rem 1.1rem;
    font-size:1.22rem;
    font-weight:850;
    line-height:1.55;
}
.core-grammar-activity .grammar-english-translation {
    border-top:1px solid #bfdbfe;
    background:#eff6ff;
    color:#1e3a8a;
    padding:.78rem 1rem .85rem;
    font-size:1.08rem;
    font-weight:750;
    line-height:1.45;
}
.core-grammar-activity .grammar-translation-label {
    display:inline-block;
    margin-right:.5rem;
    color:#2563eb;
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.045em;
    text-transform:uppercase;
}
/* Older verb-practice routes still render the translation immediately after the German sentence.
   Give those translations the same visual weight without changing unrelated instruction notes. */
.core-grammar-activity .verb-context-sentence + .production-note {
    max-width:36rem;
    margin:-1rem auto 1.1rem;
    padding:.78rem 1rem .85rem;
    border:1px solid #dbeafe;
    border-top:0;
    border-radius:0 0 .8rem .8rem;
    background:#eff6ff;
    color:#1e3a8a;
    font-size:1.08rem;
    font-weight:750;
    line-height:1.45;
}

/* Version 5.10.2 — two-pane vocabulary workspace */
.vocabulary-workspace{display:grid;grid-template-columns:minmax(250px,30%) minmax(0,1fr);gap:1.25rem;align-items:start;margin-top:1rem}
.vocab-selector-pane,.vocab-activity-pane{background:var(--card,#fff);border:1px solid rgba(0,0,0,.08);border-radius:18px;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.vocab-selector-pane{padding:1rem;position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto}
.selector-section+.selector-section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.08)}
.selector-label{display:block;font-weight:800;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.6rem;opacity:.72}
.topic-selector-list,.subtopic-selector-list{display:grid;gap:.45rem}
.workspace-topic-button,.workspace-subtopic-button{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:.7rem;border:1px solid rgba(0,0,0,.09);border-radius:12px;background:transparent;padding:.7rem .75rem;cursor:pointer;font:inherit}
.workspace-topic-button small,.workspace-subtopic-button small{white-space:nowrap;opacity:.6;font-size:.78rem}
.workspace-topic-button:hover,.workspace-subtopic-button:hover{background:rgba(74,111,165,.07)}
.workspace-topic-button.selected,.workspace-subtopic-button.selected{background:rgba(74,111,165,.13);border-color:rgba(74,111,165,.42);font-weight:750}
.vocab-activity-pane{padding:1.15rem}
.vocab-workspace-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.vocab-workspace-heading h3{margin:.15rem 0 0;font-size:1.35rem}
.workspace-word-count{padding:.38rem .65rem;border-radius:999px;background:rgba(0,0,0,.055);font-size:.82rem;font-weight:700;white-space:nowrap}
.vocab-activity-group{padding:.95rem 0;border-top:1px solid rgba(0,0,0,.07)}
.vocab-activity-group:first-of-type{border-top:0;padding-top:0}
.vocab-group-heading{display:flex;align-items:baseline;gap:.65rem;margin-bottom:.6rem}
.vocab-group-heading strong{font-size:1rem}.vocab-group-heading span{font-size:.82rem;opacity:.68}
.vocab-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.vocab-activity-grid .learning-activity-card{margin:0;min-height:88px}
.activity-unavailable-note{display:block;margin-top:.25rem;font-size:.75rem;opacity:.65}
.compact-workspace-header{margin-bottom:.25rem}
.vocab-workspace-launch{width:100%}
@media (max-width:850px){.vocabulary-workspace{grid-template-columns:1fr}.vocab-selector-pane{position:static;max-height:none}.topic-selector-list{grid-template-columns:repeat(2,minmax(0,1fr))}.subtopic-selector-list{grid-template-columns:repeat(2,minmax(0,1fr))}.vocab-activity-grid{grid-template-columns:1fr}}
@media (max-width:520px){.topic-selector-list,.subtopic-selector-list{grid-template-columns:1fr}}


/* Version 5.10.2 — simplified home + coloured vocabulary/grammar workspaces */
.home-destinations{margin-top:1.35rem}
.home-destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.home-destination-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;text-align:left;width:100%;padding:1rem 1.05rem;border:1px solid rgba(0,0,0,.08);border-radius:16px;background:#fff;cursor:pointer;font:inherit;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.home-destination-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.07);border-color:rgba(74,111,165,.28)}
.home-destination-icon{font-size:1.55rem}.home-destination-card strong{display:block;font-size:1rem;margin-bottom:.2rem}.home-destination-card small{display:block;line-height:1.35;opacity:.72}.home-destination-card b{font-size:1.2rem;opacity:.45}
.home-vocab-card{background:rgba(219,234,254,.28)}.home-grammar-card{background:rgba(237,233,254,.30)}.home-smart-card{background:rgba(220,252,231,.27)}.home-progress-card{background:rgba(254,243,199,.30)}

.vocab-activity-group{border:1px solid transparent!important;border-radius:16px;padding:1rem!important;margin:.75rem 0}
.vocab-learn-group{background:rgba(219,234,254,.34);border-color:rgba(96,165,250,.18)!important}
.vocab-practise-group{background:rgba(237,233,254,.36);border-color:rgba(167,139,250,.18)!important}
.vocab-use-group{background:rgba(220,252,231,.34);border-color:rgba(74,222,128,.17)!important}
.vocab-test-group{background:rgba(254,243,199,.37);border-color:rgba(245,158,11,.17)!important}
.vocab-group-heading{padding:.05rem .15rem .55rem}.vocab-group-heading strong{font-size:1.02rem}

.grammar-workspace{display:grid;grid-template-columns:minmax(250px,30%) minmax(0,1fr);gap:1.25rem;align-items:start;margin-top:1rem}
.grammar-selector-pane{position:sticky;top:1rem;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:1rem;background:rgba(255,255,255,.88);max-height:calc(100vh - 2rem);overflow:auto}
.grammar-selector-list{display:grid;gap:.5rem}
.grammar-section-button{width:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:.18rem;border:1px solid rgba(0,0,0,.09);border-radius:12px;background:transparent;padding:.72rem .78rem;cursor:pointer;font:inherit}
.grammar-section-button span{font-weight:720}.grammar-section-button small{opacity:.64;line-height:1.25}.grammar-section-button:hover{background:rgba(124,58,237,.055)}
.grammar-section-button.selected{background:rgba(124,58,237,.10);border-color:rgba(124,58,237,.30)}
.grammar-progress-summary{margin-top:1rem;padding-top:.9rem;border-top:1px solid rgba(0,0,0,.07);display:grid;gap:.55rem}
.grammar-progress-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.grammar-progress-summary>div strong{font-size:1.02rem}.grammar-progress-summary>div small{opacity:.62}
.grammar-progress-summary button{width:100%;padding:.65rem .7rem;border-radius:10px;border:1px solid rgba(0,0,0,.09);background:#fff;cursor:pointer;font:inherit}
.grammar-activity-pane{min-width:0}.grammar-workspace-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.grammar-workspace-heading h3{margin:.15rem 0 .18rem;font-size:1.35rem}.grammar-workspace-heading p{margin:0;opacity:.68}
.grammar-activity-group{border-radius:16px;padding:1rem;border:1px solid rgba(0,0,0,.06)}
.grammar-present-group{background:rgba(219,234,254,.34)}.grammar-perfect-group{background:rgba(254,243,199,.34)}.grammar-modal-group{background:rgba(237,233,254,.36)}.grammar-future-group{background:rgba(220,252,231,.34)}.grammar-essential-group{background:rgba(255,237,213,.36)}
.grammar-activity-grid{display:grid;gap:.75rem}.grammar-workspace-note{padding:.7rem .8rem;margin-bottom:.75rem;border-radius:10px;background:rgba(255,255,255,.65);font-size:.9rem}
@media (max-width:850px){.home-destination-grid{grid-template-columns:1fr}.grammar-workspace{grid-template-columns:1fr}.grammar-selector-pane{position:static;max-height:none}.grammar-selector-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.grammar-selector-list{grid-template-columns:1fr}}

/* Version 5.10.2 — stronger workspace section cues */
.selector-topic-section,
.subtopic-selector-section{
    border-radius:14px;
    padding:.85rem;
    border:1px solid rgba(59,130,246,.13);
}
.selector-topic-section{
    background:rgba(219,234,254,.48);
}
.subtopic-selector-section{
    background:rgba(220,252,231,.46);
    border-color:rgba(34,197,94,.13);
}
.selector-section+.selector-section{
    margin-top:.85rem;
    padding-top:.85rem;
    border-top:0;
}
.selector-topic-section .selector-label{color:#1d4ed8;opacity:.88}
.subtopic-selector-section .selector-label{color:#15803d;opacity:.88}

.vocab-learn-group{background:rgba(191,219,254,.52)!important;border-color:rgba(96,165,250,.28)!important}
.vocab-practise-group{background:rgba(221,214,254,.54)!important;border-color:rgba(139,92,246,.25)!important}
.vocab-use-group{background:rgba(187,247,208,.50)!important;border-color:rgba(34,197,94,.23)!important}
.vocab-test-group{background:rgba(253,230,138,.48)!important;border-color:rgba(245,158,11,.24)!important}

/* Make the grammar workspace visually parallel to vocabulary. */
.grammar-selector-pane{
    background:rgba(245,243,255,.50)!important;
    border-color:rgba(124,58,237,.16)!important;
}
.grammar-selector-pane .selector-section{
    border-radius:14px;
    padding:.85rem;
    background:rgba(237,233,254,.50);
    border:1px solid rgba(124,58,237,.13);
}
.grammar-progress-summary{
    margin-top:.85rem!important;
    padding:.85rem!important;
    border-top:0!important;
    border-radius:14px;
    background:rgba(255,247,237,.58);
    border:1px solid rgba(249,115,22,.13);
}
.grammar-present-group{background:rgba(191,219,254,.52)!important;border-color:rgba(96,165,250,.24)!important}
.grammar-perfect-group{background:rgba(253,230,138,.48)!important;border-color:rgba(245,158,11,.23)!important}
.grammar-modal-group{background:rgba(221,214,254,.54)!important;border-color:rgba(139,92,246,.24)!important}
.grammar-future-group{background:rgba(187,247,208,.50)!important;border-color:rgba(34,197,94,.22)!important}
.grammar-essential-group{background:rgba(254,215,170,.48)!important;border-color:rgba(249,115,22,.22)!important}


/* ==================================================
   Version 5.10.2 — CLEAN PROGRESS + MASTERY
   ================================================== */
.compact-page-header{display:flex;justify-content:space-between;align-items:center;gap:18px}
.progress-summary-clean{margin-bottom:18px}
.progress-next-card{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:18px 20px;margin:0 0 18px;border:1px solid #d8e4f4;border-radius:16px;background:#f4f8ff}
.progress-next-card .progress-next-icon{font-size:1.8rem}
.progress-next-card strong{display:block;font-size:1.08rem;margin:3px 0}
.progress-next-card p{margin:0;color:#536274}
.progress-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.progress-panel-compact{padding:18px;margin:0 0 16px}
.compact-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}
.compact-heading h2{margin:0;font-size:1.08rem}
.compact-heading p{margin:3px 0 0}
.compact-heading button{white-space:nowrap}
.mini-mastery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.mini-mastery-grid>div{padding:12px 8px;border-radius:12px;background:#f7f9fc;text-align:center;border:1px solid #e6ebf2}
.mini-mastery-grid strong{display:block;font-size:1.35rem}
.mini-mastery-grid span{font-size:.82rem;color:#607086}
.compact-session-list .session-row{padding:9px 0}
.progress-topic-list{display:grid;gap:9px}
.progress-topic-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(120px,2fr) 44px;align-items:center;gap:12px;padding:7px 0}
.progress-topic-label strong,.progress-topic-label span{display:block}
.progress-topic-label span{font-size:.8rem;color:#718096;margin-top:2px}
.progress-topic-meter{height:8px;border-radius:999px;background:#edf1f6;overflow:hidden}
.progress-topic-meter i{display:block;height:100%;border-radius:inherit;background:#6f9ed6}
.progress-topic-row>b{text-align:right;font-size:.86rem}
.progress-manage-details{margin-top:4px;border:1px solid #e4e9ef;border-radius:12px;background:#fafbfc}
.progress-manage-details summary{cursor:pointer;padding:13px 15px;font-weight:700;color:#526170}
.progress-tools-collapsed{border:0;border-top:1px solid #e4e9ef;border-radius:0;margin:0;background:transparent}
.mastery-grid-clean{margin-bottom:18px}
.mastery-next-card{background:#f8f6ff;border-color:#e3dcf7}
.mastery-status-strip{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 16px;margin-bottom:16px;border:1px solid #e3e8ef;border-radius:14px;background:#fbfcfd}
.mastery-status-strip>span{font-size:1.35rem}
.mastery-status-strip strong{display:block}
.mastery-status-strip p{margin:2px 0 0;color:#667587}
.mastery-list-clean .mastery-row{padding:10px 0}
@media(max-width:800px){
  .progress-dashboard-grid{grid-template-columns:1fr}
  .progress-next-card,.mastery-status-strip{grid-template-columns:auto 1fr}
  .progress-next-card button,.mastery-status-strip button{grid-column:1/-1}
  .progress-topic-row{grid-template-columns:1fr 44px}
  .progress-topic-meter{grid-column:1/-1;grid-row:2}
  .mini-mastery-grid{grid-template-columns:repeat(2,1fr)}
  .compact-page-header{align-items:flex-start;flex-direction:column}
}
