/* Interactive reading and story-specific grammar review. */
.activity-reading { min-width:0; }
.activity-help { font-size:.84rem; line-height:1.65; color:var(--muted-foreground); margin:18px 0 8px; }
.activity-slot-wrap { display:inline-flex; position:relative; vertical-align:baseline; align-items:center; max-width:100%; margin:0 .16em; }
.activity-slot { display:inline-flex; align-items:center; justify-content:center; gap:5px; position:relative; min-width:100px; max-width:100%; min-height:43px; padding:5px 9px; border:1.5px dashed #478a89; border-radius:6px; background:#e5f4ef; color:var(--charcoal); font-size:.89em; font-weight:800; line-height:1.25; white-space:normal; text-align:center; cursor:pointer; vertical-align:middle; touch-action:manipulation; }
.activity-slot:hover { border-color:var(--teal-dark); }
.activity-slot.filled { border-style:solid; background:#e1f5f0; }
.activity-slot.correct { border-color:#307c5c; background:#d7efe0; }
.activity-slot.needs-work { border-color:#ad553c; background:#fff0e9; }
.activity-slot-number { font-size:.65em; font-weight:900; color:var(--teal-dark); margin-right:3px; }
.activity-slot-hint { display:block; position:absolute; z-index:2; top:calc(100% + 3px); left:0; width:max-content; max-width:min(360px,70vw); padding:5px 8px; background:#fceade; color:#823f2d; border-radius:3px; font-size:11px; line-height:1.3; white-space:normal; }
.activity-slot-wrap:has(.activity-slot-hint) { margin-bottom:20px; }
.activity-bank { margin:25px 0; padding:20px; border:1px solid var(--border); background:#f2f1ea; }
.activity-bank-label { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin-bottom:15px; font-size:.7rem; font-weight:900; letter-spacing:.14em; }
.activity-bank-label span { color:var(--muted-foreground); font-size:.64rem; }
.activity-tiles { display:flex; flex-wrap:wrap; gap:9px; }
.activity-tile { display:inline-flex; gap:6px; align-items:center; min-height:45px; border:1px solid var(--border); border-radius:6px; background:#fff; padding:9px 14px; cursor:grab; font-size:.9rem; font-weight:750; touch-action:manipulation; }
.activity-tile svg { color:#6e8586; }
.activity-tile:hover { border-color:var(--teal-dark); }
.activity-tile.selected { background:var(--charcoal); color:var(--ivory); outline:3px solid var(--teal); outline-offset:2px; }
.activity-tile:disabled { opacity:.32; text-decoration:line-through; cursor:default; }
.activity-rule { padding:24px clamp(19px,3vw,36px); background:#e1eee8; border-left:5px solid var(--teal-dark); margin-bottom:24px; }
.activity-rule > span,.activity-quiz-heading > span { font-size:.65rem; color:var(--teal-dark); letter-spacing:.16em; font-weight:900; }
.activity-rule > p:not(.activity-rule-note) { line-height:1.65; font-size:clamp(1.04rem,1.4vw,1.24rem); font-weight:700; margin:12px 0; }
.activity-rule-note { font-size:.75rem; line-height:1.6; color:var(--muted-foreground); margin:8px 0 0; }
.activity-quiz-heading { margin:48px 0 22px; }
.activity-quiz-heading h3 { font-family:'Arial Black',Impact,ui-sans-serif,sans-serif; font-size:clamp(1.8rem,3vw,3.3rem); letter-spacing:-.06em; margin:10px 0; line-height:1.1; }
.activity-quiz-heading h3 span { color:var(--teal-dark); }
.activity-quiz-heading p { color:var(--muted-foreground); line-height:1.5; margin:0; }
.activity-quiz-list { display:grid; gap:18px; }
.activity-question { min-width:0; padding:clamp(20px,3vw,32px); margin:0; border:1px solid var(--border); background:var(--paper); }
.activity-question legend { float:left; display:block; width:100%; padding:0; font-size:clamp(1.07rem,1.5vw,1.3rem); font-weight:800; line-height:1.5; margin-bottom:21px; }
.activity-question legend span { display:block; font-size:.65rem; letter-spacing:.16em; color:var(--teal-dark); margin-bottom:10px; }
.activity-choices { display:grid; gap:9px; clear:both; }
.activity-choice { display:flex; align-items:flex-start; text-align:left; gap:13px; border:1px solid var(--border); border-radius:5px; background:var(--ivory); padding:14px; min-height:52px; line-height:1.45; font-size:.9rem; cursor:pointer; }
.activity-choice > span { flex:0 0 26px; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; background:#e1e5df; font-size:.71rem; font-weight:900; }
.activity-choice:hover { border-color:var(--teal-dark); }
.activity-choice.selected { border-color:var(--teal-dark); background:#e5f4ef; box-shadow:inset 3px 0 0 var(--teal-dark); }
.activity-choice.correct { border-color:#307c5c; background:#d7efe0; }
.activity-choice.needs-work { border-color:#ad553c; background:#fff0e9; }
.activity-question-feedback { margin:16px 0 0; font-size:.83rem; line-height:1.6; color:#833d2b; }
.activity-question-feedback.correct { color:#205d45; }
.activity-quiz-footer { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:24px; }
.activity-quiz-footer p { font-weight:750; font-size:.86rem; line-height:1.5; }
.library-app .activity-bank button:focus-visible,.library-app .activity-slot:focus-visible,.library-app .activity-choice:focus-visible { outline:3px solid var(--teal-dark); outline-offset:3px; }
@media (max-width:520px) { .activity-slot { min-width:83px; padding:6px 8px; font-size:.81em; } .activity-bank { padding:15px; } .activity-tile { padding:9px 11px; } .activity-slot-hint { max-width:65vw; } .activity-question { padding:19px; } .activity-quiz-footer .library-primary { width:100%; } }
@media (prefers-reduced-motion:reduce) { .activity-tile,.activity-slot,.activity-choice { transition:none; } }
