/* Socratello practice checks (times tables and phonics) */
.ck-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.ck-card{display:block;text-decoration:none;color:inherit;border:2px solid var(--line);transition:border-color .15s}
.ck-card:hover{border-color:var(--sea)}
.ck-ico{font-size:2.2rem}
.ck-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* full-screen check pages */
body.ck [hidden]{display:none !important}
body.ck{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--body);color:var(--ink)}
.ck-bar{display:flex;align-items:center;gap:18px;padding:12px 24px;background:var(--surface);border-bottom:3px solid var(--line)}
.ck-back{font-weight:800;text-decoration:none}
.ck-title{font-family:var(--display);font-weight:700;font-size:1.25rem}
.ck-count{margin-left:auto;font-weight:800;color:var(--muted)}
.ck-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}
.ck-btn,.ck-big-btn{display:inline-block;font:inherit;font-weight:800;border:0;border-radius:16px;cursor:pointer;text-decoration:none;min-height:48px}
.ck-btn{padding:.6em 1.2em;background:var(--sea);color:var(--on-sea,#fff)}
.ck-btn.ghost{background:var(--soft);color:var(--ink)}
.ck-big-btn{padding:.7em 1.6em;font-size:1.3rem;background:var(--sea);color:var(--on-sea,#fff)}
.ck-big-btn:disabled,.ck-btn:disabled{opacity:.45;cursor:not-allowed}
.ck-lead{font-size:1.25rem;font-weight:700}
.ck-rules{font-size:1.1rem;line-height:1.6;text-align:left;max-width:34em;margin:0 auto 1em}
.ck-note{color:var(--muted);font-weight:700}

/* times tables check: plain and calm, like the real thing */
.mtc-panel{max-width:40em;text-align:center}
.mtc-panel h1{font-family:var(--display)}
.mtc-ask{display:flex;align-items:center;justify-content:center;gap:clamp(24px,6vw,96px);flex-wrap:wrap;width:100%}
.mtc-sum{text-align:center;min-width:min(90vw,420px)}
.mtc-q{font-family:var(--display);font-weight:700;font-size:clamp(56px,10vw,140px);margin:0;line-height:1;font-variant-numeric:tabular-nums}
.mtc-answer{margin:.25em auto 0;min-height:1.25em;width:3.2ch;border-bottom:6px solid var(--ink);font-family:var(--display);font-weight:700;font-size:clamp(56px,9vw,120px);line-height:1.15;font-variant-numeric:tabular-nums}
.mtc-track{height:12px;border-radius:6px;background:var(--soft);margin:28px auto 0;max-width:420px;overflow:hidden}
.mtc-bar{height:100%;width:100%;background:var(--sea)}
.mtc-pad{display:grid;grid-template-columns:repeat(3,minmax(72px,96px));gap:12px}
.mtc-pad button{font:inherit;font-family:var(--display);font-weight:700;font-size:2rem;min-height:72px;border-radius:16px;border:3px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;touch-action:manipulation}
.mtc-pad button:active{transform:scale(.96);background:var(--sky)}
.mtc-pad .mtc-del{font-size:1.6rem}
.mtc-pad .mtc-enter{font-size:1.1rem;background:var(--sea);color:var(--on-sea,#fff);border-color:var(--sea)}
.mtc-pause{display:grid;place-items:center;min-height:40vh}
.mtc-spinner{width:72px;height:72px;border-radius:50%;border:8px solid var(--soft);border-top-color:var(--sea);animation:mtcspin 1s linear infinite}
@keyframes mtcspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.mtc-spinner{animation-duration:3s}}
.mtc-score{font-family:var(--display);font-weight:700;font-size:clamp(40px,6vw,72px);margin:.2em 0}
.mtc-missed{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.mtc-missed li{padding:6px 12px;border-radius:12px;background:var(--bad-bg);font-weight:800}
.mtc-answers{columns:3 12em;text-align:left;font-size:1.4rem;font-weight:700;margin:1em auto;max-width:44em}
.mtc-mode-board .mtc-q{font-size:clamp(80px,14vw,200px)}
.mtc-grid{border-collapse:separate;border-spacing:3px;font-variant-numeric:tabular-nums}
.mtc-grid th{padding:4px 8px;color:var(--muted)}
.mtc-cell{width:2.6em;height:2.2em;text-align:center;border-radius:6px;font-weight:800;font-size:.85rem}
.mtc-cell.g{background:var(--good-bg)}
.mtc-cell.a{background:#FFE8A8;color:#5A3D00}
.mtc-cell.r{background:var(--bad-bg);color:#8A1C14}
.mtc-cell.none{background:var(--soft)}

/* phonics check: clear early-reader font, one page of four words */
.psc .ck-main{justify-content:flex-start}
.psc-help{max-width:46em;width:100%;margin:0 0 12px;background:var(--surface);border:2px solid var(--line);border-radius:16px;padding:10px 16px}
.psc-help summary{cursor:pointer;font-weight:800}
.psc-sec-label{font-weight:800;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;text-align:center;margin:.2em 0}
#psc-run{width:100%;max-width:46em}
.psc-words{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.psc-word{display:flex;align-items:center;gap:20px;background:#fff;color:#111;border:3px solid var(--line);border-radius:20px;padding:10px 20px;min-height:110px}
.psc-pic{flex:none;width:72px;height:72px}
.psc-alien{width:72px;height:72px}
.psc-text{flex:1;font-family:'Andika','Sassoon Primary','Comic Sans MS',sans-serif;font-size:clamp(48px,7vw,84px);line-height:1;letter-spacing:.02em}
.psc-marks{display:flex;gap:10px}
.psc-mark{width:64px;height:64px;border-radius:50%;border:3px solid var(--line);background:#fff;font-size:1.8rem;font-weight:800;cursor:pointer;color:#555}
.psc-mark.ok[aria-pressed="true"]{background:#1E9E6A;border-color:#1E9E6A;color:#fff}
.psc-mark.no[aria-pressed="true"]{background:#D64545;border-color:#D64545;color:#fff}
.psc-word.is-right{border-color:#1E9E6A}
.psc-word.is-wrong{border-color:#D64545}
.psc-nav{display:flex;justify-content:space-between;gap:12px;margin:18px 0 8px}
.psc-mode-board .psc-word{min-height:130px}
@media (max-width:640px){.psc-word{flex-wrap:wrap;gap:10px}.psc-marks{width:100%;justify-content:flex-end}.mtc-pad{grid-template-columns:repeat(3,minmax(64px,1fr))}}
