.catalog-meta{margin-bottom:9px}.activity-icon{font-size:46px;text-align:center;margin:12px 0}.activity-prompt{background:#fff8ee;border:1px solid #f3e9d9;border-radius:14px;padding:14px 16px;margin:18px 0}.activity-prompt p{color:#343b4a;margin:6px 0 14px;line-height:1.55}.activity-prompt p:last-child{margin-bottom:0}.activity-note{font-size:12px}.story-reading{font:500 17px/1.8 Nunito,sans-serif;color:#343b4a;background:#fffaf2;border-radius:15px;padding:17px;margin:15px 0}.progress-link{text-align:left;width:100%;cursor:pointer}.progress-link:hover{border-color:#ffd5b6;transform:translateY(-1px)}@media print{body *{visibility:hidden!important}.modal-backdrop,.modal-backdrop *{visibility:visible!important}.modal-backdrop{position:absolute;inset:0;background:white;padding:0}.modal{width:100%;max-width:none;box-shadow:none}.modal-actions,.modal-actions button{display:none!important}}

/* Spelling activity: a focused, touch-friendly lesson card. */
.spell-shell{width:min(100%,760px);margin:0 auto;background:#fff;border:1px solid #e9e7e4;border-radius:22px;padding:24px 28px 26px;box-shadow:0 12px 34px #29344a0b;color:#28334b}
.spell-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.spell-eyebrow{display:block;color:#bd7750;font-size:12px;letter-spacing:.35px;margin:0 0 8px}
.spell-top h1{font:800 clamp(19px,2.8vw,25px)/1.3 Nunito,sans-serif;letter-spacing:-.35px;margin:0;max-width:590px}
.spell-score{flex:none;border:1px solid #e9e6e1;border-radius:22px;padding:8px 12px;font-weight:800;color:#57647a;background:#fff}
.spell-picture{display:grid;justify-items:center;gap:5px;padding:8px 12px 16px}
.spell-emoji{font-size:68px;line-height:1.1;filter:drop-shadow(0 5px 4px #26344a18)}
.spell-picture>strong{font:900 22px Nunito,sans-serif;letter-spacing:.2px}
.spell-audio,.spell-sound{min-height:42px;border:1px solid #e6e5e3;border-radius:12px;background:#fff;padding:9px 16px;font:700 14px Nunito,sans-serif;color:#26334a}
.spell-audio{background:#edf3ff;border-color:#edf3ff;margin-top:7px}
.spell-soundbox{display:grid;justify-items:center;gap:7px;border:1px solid #e7e5e2;border-radius:18px;background:#fff;padding:15px 18px;margin:7px 0 18px}
.spell-soundbox p{color:#6d7889;font-size:14px;margin:0}
.sound-check{font-size:35px;line-height:1.1;color:#151d29}
.spell-question{text-align:center;font:700 17px Nunito,sans-serif;margin:0 0 14px}
.spell-wordbox{display:grid;justify-items:center;gap:8px;padding:12px;border-radius:14px;background:#f8f8f8;margin-bottom:12px}
.spell-wordbox>span{font-size:13px;color:#778195}
.spell-wordbox>strong{display:flex;gap:13px}
.spell-wordbox button{background:transparent;padding:0;color:#142033;font:900 31px/1 Nunito,sans-serif;letter-spacing:.5px}
.spell-success{border:1px solid #e7e5e2;border-radius:13px;background:#fff;padding:12px 15px;text-align:center;font:700 15px/1.45 Nunito,sans-serif;margin:12px 0}
.spell-next{width:100%;min-height:46px;border-radius:13px;background:#397cf3;color:#fff;font:800 16px Nunito,sans-serif;padding:11px 16px}
.spell-next:hover{background:#2869da}
@media(max-width:620px){.spell-shell{padding:18px 16px 20px;border-radius:18px}.spell-top{gap:10px}.spell-score{padding:7px 9px;font-size:12px}.spell-emoji{font-size:58px}.spell-soundbox{padding:13px 12px}.spell-question{font-size:16px}.spell-wordbox button{font-size:29px}}

/* Match the focused, phone-sized spelling lesson pattern. */
body:has(.spell-mode){background:#fff}
.spell-mode{display:block;min-height:100vh;background:#fff}
.spell-mode .sidebar,.spell-mode .topbar,.spell-mode .mobile-nav{display:none!important}
.spell-mode .workspace{margin:0;width:100%;min-height:100vh}
.spell-mode .main{width:min(100%,525px);max-width:525px;min-height:100vh;padding:5px 15px;margin:0 auto}
.spell-mode .spell-shell{width:100%;min-height:calc(100vh - 10px);margin:0 auto;border-radius:16px;border:1px solid #e2e2e2;background:#fdfdfd;padding:22px 24px 10px;box-shadow:none}
.spell-mode .spell-top{margin-bottom:13px}
.spell-mode .spell-eyebrow{font:400 14px/1.4 Nunito,sans-serif;letter-spacing:0;color:#69758a}
.spell-mode .spell-top h1{font:800 19px/1.4 Nunito,sans-serif;letter-spacing:0;color:#090d14}
.spell-mode .spell-score{font:700 13px Nunito,sans-serif;padding:8px 12px}
.spell-mode .spell-picture{padding:10px 12px 16px;gap:4px}
.spell-mode .spell-emoji{font-size:82px}
.spell-mode .spell-picture>strong{font:900 23px Nunito,sans-serif;color:#05070b}
.spell-mode .spell-audio{margin-top:9px;min-height:44px;padding:10px 18px;background:#edf3ff;border:0;font-size:15px;color:#06090e}
.spell-mode .spell-soundbox{min-height:154px;margin:7px 0 20px;padding:15px 18px;border-radius:17px;background:#fdfdfd}
.spell-mode .spell-soundbox p{font:400 14px/1.5 Nunito,sans-serif;color:#68748a}
.spell-mode .sound-check{font-size:39px}
.spell-mode .spell-sound{min-height:45px;padding:10px 18px;font-size:15px}
.spell-mode .spell-question{font:800 17px/1.5 Nunito,sans-serif;color:#05070b;margin:0 0 23px}
.spell-mode .spell-wordbox{min-height:96px;margin-bottom:15px;padding:13px;border-radius:14px;background:#f7f7f7}
.spell-mode .spell-wordbox>span{font:400 14px Nunito,sans-serif;color:#738097}
.spell-mode .spell-wordbox>strong{gap:16px}
.spell-mode .spell-wordbox button{font:900 30px/1 Nunito,sans-serif;color:#03060c}
.spell-mode .spell-success{min-height:51px;margin:15px 0;border-radius:13px;font:700 15px/1.45 Nunito,sans-serif;color:#101319}
.spell-mode .spell-next{min-height:46px;border-radius:12px;background:#397cf3;font:800 16px Nunito,sans-serif}
@media(max-width:620px){.spell-mode .main{padding:5px 15px}.spell-mode .spell-shell{padding:22px 24px 10px}.spell-mode .spell-emoji{font-size:78px}.spell-mode .spell-soundbox{min-height:154px}.spell-mode .spell-question{margin-bottom:22px}}

.spell-progress{height:5px;width:100%;overflow:hidden;border-radius:9px;background:#eff1f5;margin:0 0 8px}
.spell-progress i{display:block;height:100%;border-radius:9px;background:#397cf3;transition:width .25s ease}
.spell-mode .spell-picture{padding-top:7px}
.spell-mode .spell-choices{display:flex;justify-content:center;flex-wrap:wrap;gap:10px!important}
.spell-mode .spell-choice{width:52px;height:52px;padding:0;border:1px solid #e2e5eb;border-radius:13px;background:#fff;color:#0b1220;font:900 25px/1 Nunito,sans-serif;letter-spacing:0;box-shadow:0 2px 5px #1820330a;transition:transform .12s ease,border-color .12s ease,background .12s ease}
.spell-mode .spell-choice:hover{transform:translateY(-2px);border-color:#82aaf8;background:#f4f7ff}
.spell-mode .spell-choice.chosen{border-color:#63b78b;background:#eaf8f0;color:#27704a}
.spell-mode .spell-choice.miss{border-color:#e39a8e;background:#fff0ed;color:#a63f31}
.spell-mode .spell-choice:disabled{cursor:default}
.spell-mode .spell-success.is-hint{background:#f7f8fa;color:#69758a}
.spell-mode .spell-success.is-wrong{background:#fff5f2;border-color:#f0d3cd;color:#a34a3d}
.spell-mode .spell-success.is-correct{background:#f0faf4;border-color:#cfead8;color:#28754d}
.spell-finish-art{font-size:74px;text-align:center;margin:30px 0 8px}
.spell-finish-copy{text-align:center;color:#67748a;font:700 15px Nunito,sans-serif;margin:8px 0}
.spell-finish-score{text-align:center;font:900 46px Nunito,sans-serif;color:#28334b;margin:5px 0 14px}
.spell-finish-score span{font-size:22px;color:#929bac}
.spell-mode .spell-restart{width:100%;min-height:44px;margin-top:9px;border:1px solid #e4e6eb;border-radius:12px;background:#fff;color:#46536a;font:800 14px Nunito,sans-serif}
