/* QuizQuest · math study pages — the same look as the reading studies */
:root{--red:#ef2b3c;--red-d:#a3111f;--blue:#2563eb;--blue-d:#1e3a8a;--yellow:#ffc629;--green:#16a34a;--green-l:#dcfce7;--ink:#172554;--muted:#5a6580;--paper:#fffdf6;--line:#e2e8f0;--ph:#f59e0b}
*{box-sizing:border-box}
html,body{margin:0}
body{min-height:100vh;background:#1e3a8a;background-image:radial-gradient(circle at 15% 0%,#3b82f6 0,transparent 55%),radial-gradient(circle at 95% 100%,#16a34a55 0,transparent 50%);font-family:'Nunito',system-ui,sans-serif;color:var(--ink)}
.page{max-width:1180px;margin:0 auto;padding:16px}
.card{background:#fff;border-radius:22px;padding:22px;box-shadow:0 10px 0 #0b1b5c55,0 20px 40px #0004}
h2{font:700 30px 'Fredoka',sans-serif;margin:0 0 6px;color:var(--red)}
h3{font:700 22px 'Fredoka',sans-serif;margin:0 0 10px}
p{line-height:1.5}
.btn{appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.45em;font:700 19px 'Fredoka',sans-serif;padding:10px 20px;border-radius:999px;background:var(--blue);color:#fff;box-shadow:0 5px 0 var(--blue-d);transition:transform .1s;text-decoration:none}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--blue-d)}
.btn.red{background:var(--red);box-shadow:0 5px 0 var(--red-d)}
.btn.green{background:var(--green);box-shadow:0 5px 0 #14532d}
.btn.ghost{background:#eef2ff;color:var(--ink);box-shadow:0 4px 0 #c7d2fe}
.btn.gold{background:#fff4e0;color:#8a4b00;box-shadow:0 4px 0 #f4a23a}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn.sm{font-size:15px;padding:7px 14px}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.small{font-size:14px;color:var(--muted);font-weight:700}
.meter{height:10px;border-radius:99px;background:#e2e8f0;overflow:hidden;margin-top:10px}
.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--yellow),var(--green));border-radius:99px;transition:width .4s}
/* home */
.home{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}
.badge{display:inline-block;font:700 15px 'Fredoka',sans-serif;background:var(--blue);color:#fff;border-radius:99px;padding:3px 12px;margin-bottom:8px}
.needbook{background:#eff6ff;border:2px solid #bfdbfe;border-radius:12px;padding:10px 14px;font-weight:700;margin:12px 0}
.namebox label{font-weight:800;display:block;margin:8px 0 6px}
.namebox input{font:700 20px 'Nunito',sans-serif;padding:9px 12px;border-radius:12px;border:3px solid var(--line);width:100%;max-width:340px;outline:none}
.namebox input:focus{border-color:var(--blue)}
.choice{display:block;width:100%;text-align:left;border:3px solid var(--line);background:#fff;border-radius:18px;padding:14px 18px;margin-bottom:12px;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s,transform .15s}
.choice:hover{border-color:var(--blue);transform:translateY(-2px)}
.choice b{display:block;font:700 22px 'Fredoka',sans-serif}
.choice span{color:var(--muted);font-weight:700}
/* a part */
.topline{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#fff;margin-bottom:10px}
.topline .pg{font:700 18px 'Fredoka',sans-serif}
.topline .meter{flex:1;min-width:140px;margin:0;background:#ffffff33}
.work{display:grid;grid-template-columns:1fr 1.25fr;gap:18px;align-items:start}
.learn{background:var(--paper);border-radius:22px;padding:22px 24px;box-shadow:0 10px 0 #0b1b5c55,0 20px 40px #0004;position:sticky;top:78px}
.learn h3{color:var(--red);font-size:26px}
.learn p{font-size:17.5px;margin:0 0 10px}
.inbook{display:inline-block;font:800 13px 'Nunito',sans-serif;color:#a16207;background:#fef3c7;border-radius:99px;padding:3px 11px;margin-bottom:10px}
/* a sum written in columns: one cell per character so everything lines up */
.col{display:inline-block;font:600 30px/1.25 'Fredoka',sans-serif;font-variant-numeric:tabular-nums;color:var(--ink);background:#fff;border:2px solid #fde68a;border-radius:14px;padding:8px 16px 10px;margin:4px 0 8px}
.col .ln{display:flex;justify-content:flex-end}
.col .c{display:inline-block;width:.64em;text-align:center}
.col .c.pt{width:.34em}
.col .c.op{width:.9em;text-align:left;color:var(--muted)}
.col .c.ph{color:var(--ph)}
.col .c.cm{width:.3em}
.col .tot{border-top:3px solid var(--ink);margin-top:3px;padding-top:2px;color:var(--green)}
.col.sm{font-size:22px;padding:6px 12px}
.colcap{font:800 12px 'Nunito',sans-serif;color:#a16207;letter-spacing:.5px;text-transform:uppercase}
.key{font-size:13px;font-weight:800;color:var(--muted)}
.key b{color:var(--ph)}
/* questions */
.q{margin-bottom:20px;padding-bottom:16px;border-bottom:2px dashed var(--line)}
.q:last-of-type{border-bottom:0}
.qt{font:700 20px/1.35 'Fredoka',sans-serif;margin-bottom:10px}
.qt .n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;font-size:16px;margin-right:6px;vertical-align:2px}
.opt{display:block;width:100%;text-align:left;font:700 16px/1.3 'Nunito',sans-serif;padding:10px 14px;margin-bottom:7px;border-radius:12px;border:3px solid var(--line);background:#fff;cursor:pointer;color:var(--ink)}
.opt:hover:not(:disabled){border-color:var(--blue);background:#eff6ff}
.opt:disabled{cursor:default}
.opt.right{border-color:var(--green);background:var(--green-l)}
.opt.wrong{border-color:var(--red);background:#fee2e2}
.opt.right::before{content:'\2714  ';color:var(--green)}
.opt.wrong::before{content:'\2716  ';color:var(--red)}
.students{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.stu{background:#f8fafc;border:2px solid var(--line);border-radius:12px;padding:8px 12px}
.stu b{display:block;font:700 15px 'Fredoka',sans-serif;color:var(--blue)}
.stu pre{margin:4px 0 0;font:600 17px/1.3 ui-monospace,Menlo,Consolas,monospace}
.stu pre u{text-decoration:none;border-top:2px solid var(--ink);display:inline-block}
.numrow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.numrow input{font:800 22px 'Nunito',sans-serif;width:min(260px,100%);padding:9px 12px;border-radius:12px;border:3px solid var(--ink);text-align:center;outline:none}
.numrow input:focus{border-color:var(--blue)}
.numrow .unit{font:700 18px 'Fredoka',sans-serif;color:var(--muted)}
.chips{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:10px}
.chip{appearance:none;cursor:pointer;font:700 20px 'Fredoka',sans-serif;padding:9px 16px;border-radius:14px;border:3px solid var(--line);background:#fff;color:var(--ink);font-variant-numeric:tabular-nums}
.chip.on{border-color:var(--blue);background:#dbeafe}
.chip.right{border-color:var(--green);background:var(--green-l)}
.chip.wrong{border-color:var(--red);background:#fee2e2}
.chip:disabled{cursor:default}
.sumtag{display:inline-block;font:700 22px 'Fredoka',sans-serif;background:#fef3c7;border-radius:10px;padding:2px 12px;margin-left:4px}
.why{font-weight:700;font-size:15.5px;line-height:1.45;border-radius:12px;padding:10px 12px;margin-top:8px;background:#f1f5f9}
.why.ok{background:var(--green-l);color:#14532d}
.why.no{background:#fff1f2;color:#881337}
.why .col{display:table;margin:10px 0 2px}
.nav{display:flex;justify-content:space-between;gap:10px;margin-top:12px}
/* results */
.res .big{font:700 42px 'Fredoka',sans-serif;color:var(--green)}
.res table{width:100%;border-collapse:collapse;margin:8px 0 4px}
.res td,.res th{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left}
.miss{border:2px solid var(--line);border-radius:16px;padding:12px 14px;margin-bottom:12px;background:#fff;page-break-inside:avoid;text-align:left}
.mq{font:700 18px/1.3 'Fredoka',sans-serif;margin-bottom:6px}
.mq span{display:inline-block;font:800 12px 'Nunito',sans-serif;color:#6d28d9;background:#ede9fe;border-radius:99px;padding:1px 8px;margin-right:4px;vertical-align:2px}
.you{color:#be123c;font-weight:800;margin:2px 0}
.ans{color:#15803d;font-weight:800;margin:2px 0}
.credit{max-width:760px;margin:22px auto 0;font-size:12.5px;line-height:1.5;color:#ffffffc0;text-align:center}
.res .credit{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:8px;margin-top:16px}
@media (max-width:860px){.home,.work{grid-template-columns:1fr}.learn{position:static}.col{font-size:26px}}
@media print{
  body{background:#fff}.noprint,footer,.qqg-bar{display:none!important}
  .card{box-shadow:none;border:1px solid #ccc}
  .page{max-width:none;padding:0}
}
/* a small data table for word problems */
.dtable{margin:10px 0 12px;overflow-x:auto}
.dtable .dtt{background:#7c3aed;color:#fff;font:700 16px 'Fredoka',sans-serif;padding:6px 10px;border-radius:10px 10px 0 0;text-align:center}
.dtable table{border-collapse:collapse;width:100%;background:#fff;font:700 15px 'Nunito',sans-serif;font-variant-numeric:tabular-nums}
.dtable th,.dtable td{border:1px solid #cbd5e1;padding:5px 9px;text-align:right;color:var(--ink)}
.dtable th{background:#f5f3ff;text-align:left}
.dtable tr:first-child th{text-align:center;background:#ede9fe}
.q .dtable{max-width:520px}

/* long multiplication: a rule under the factors and under the last partial product */
.col.mul .ln.rule{border-bottom:3px solid currentColor;padding-bottom:2px;margin-bottom:2px}
