:root{--ink:#243d51;--teal:#087b78;--pink:#b94364;--gold:#996316;--line:#dce7e9}*{box-sizing:border-box}body{margin:0;background:#f0f5f5;color:var(--ink);font:15px 'Trebuchet MS',Arial,sans-serif}header{display:flex;align-items:center;justify-content:space-between;padding:22px 4%;background:white;border-bottom:1px solid var(--line)}a{color:var(--teal)}.brand{font-size:28px;font-weight:900;letter-spacing:-1px;text-decoration:none}.brand span{color:#edaa39;font-size:17px;margin-left:4px}header>span{color:#657d86;font-size:13px}main{display:grid;grid-template-columns:280px minmax(0,816px);justify-content:center;gap:34px;padding:30px 24px}aside{padding-top:16px}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2px;color:var(--teal)}h1{font-size:31px;line-height:1.2;margin:15px 0}aside p{line-height:1.7;color:#657984}label{display:block;font-size:12px;font-weight:bold;margin:28px 0 10px}select{width:100%;padding:14px;border:1px solid #bacfd0;border-radius:12px;background:white;color:var(--ink);font:inherit}.selector{display:flex;align-items:center;gap:10px;margin-top:16px;background:white;padding:12px;border-radius:14px}.selector>div{flex:1;text-align:center}.selector small{display:block;font-size:11px;margin-top:6px;color:#60737e}.selector strong{font-size:13px}.selector button{font-size:22px;padding:8px}.note{font-size:12px}.ad{border:1px dashed #b8c6cb;padding:30px 8px;text-align:center;color:#75848b;font-size:10px;line-height:2;letter-spacing:1px;margin-top:25px}.tools{display:flex;justify-content:space-between;gap:10px;margin-bottom:16px}.tools>div{display:flex;gap:6px}button{font:inherit;border:1px solid #cbdadd;border-radius:9px;background:white;color:var(--ink);padding:10px 13px;cursor:pointer}button[aria-pressed=true],#print{background:var(--teal);color:white;border-color:var(--teal)}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #cc6735;outline-offset:3px}.sheet{background:white;padding:28px 32px 20px;border:1px solid #dde8e9;border-radius:5px;box-shadow:0 8px 35px #2544530b}.sheet-head{display:flex;justify-content:space-between;align-items:center}.sheet-head .brand{font-size:23px}.edition{font-size:10px;letter-spacing:1px;font-weight:bold;color:var(--teal)}.hero{display:flex;align-items:center;justify-content:space-between;margin:17px 0 12px;border-radius:17px;background:#eaf7f5;padding:16px 20px;border:1px solid #cbe8e2}.hero h2{font-size:28px;margin:5px 0}.hero p{margin:6px 0 0;font-size:12px}.hero svg{width:87px;height:87px;flex-shrink:0}.student{display:flex;gap:22px;font-size:12px;padding:8px 0 13px}.student span:first-child{flex:1}.student span{border-bottom:1px solid #9badb6;padding-bottom:7px}.activity{margin-top:12px;break-inside:avoid}.activity h3{display:flex;gap:9px;align-items:center;margin:0 0 8px;font-size:15px;color:var(--teal)}.badge{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:8px;color:white;background:var(--teal);font-size:12px}.activity:nth-of-type(2) h3{color:var(--pink)}.activity:nth-of-type(2) .badge{background:var(--pink)}.activity:nth-of-type(3) h3{color:var(--gold)}.activity:nth-of-type(3) .badge{background:var(--gold)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:9px}.card{position:relative;border:1px solid var(--line);border-radius:12px;padding:12px 13px;min-height:91px}.qid{font-size:10px;color:#6c7d87;position:absolute;top:7px;left:8px}.picture-line{display:flex;align-items:center;justify-content:center;gap:7px;margin:7px 0}.objects{display:grid;grid-template-columns:repeat(5,22px);gap:3px;align-items:center}.objects svg{width:22px;height:24px}.objects svg.crossed{opacity:.65}.equation{font-size:23px;text-align:center;display:flex;justify-content:center;align-items:center;gap:8px;margin:7px 0}.write-box{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:12mm;min-width:12mm;height:9mm;min-height:9mm;border:1.5px solid #758f9b;border-radius:7px;color:#08734f;font-weight:bold;background:white;flex-shrink:0}.story{font-size:13px;line-height:1.6;margin:9px 0}.tenframe{display:grid;grid-template-columns:repeat(5,19px);border-top:1px solid #718990;border-left:1px solid #718990;width:max-content}.tenframe i{width:19px;height:19px;border-right:1px solid #718990;border-bottom:1px solid #718990;display:grid;place-items:center}.tenframe i.filled:after{content:'';width:11px;height:11px;background:#168a80;border-radius:50%}.celebrate{display:flex;align-items:center;justify-content:space-between;padding:12px 0 8px;font-size:12px;font-weight:bold;color:var(--teal)}.stars{font-size:24px;letter-spacing:5px;color:#926721}.sheet-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:9px;font-size:9px;color:#617681}.sheet-footer b{color:var(--teal)}.footnote{text-align:center;font-size:11px;color:#6b7e86}.bottom{padding:15px}.sr{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}@media(max-width:850px){main{display:block;max-width:820px;margin:auto}aside{padding:0}h1,aside>p:not(.note),aside>.ad{display:none}label{margin-top:12px}.selector{margin-bottom:15px}header>span{display:none}.sheet{padding:20px}.tools{flex-wrap:wrap}}@media(max-width:480px){main{padding:15px 8px}.sheet{padding:13px 10px}.hero{padding:12px}.hero h2{font-size:23px}.hero svg{width:60px}.card{padding:12px 6px}.objects{grid-template-columns:repeat(5,16px);gap:1px}.objects svg{width:16px;height:19px}.picture-line{gap:3px}.equation{font-size:19px;gap:5px}.story{font-size:12px}.sheet-footer{font-size:8px}.edition{font-size:8px}.tools button{padding:9px;font-size:12px}}@page{size:auto;margin:10mm}@media print{body{background:white;print-color-adjust:exact;-webkit-print-color-adjust:exact}header,aside,.tools,.ad,.footnote,.sr{display:none!important}main{display:block;margin:0;padding:0;max-width:none}.sheet{border:0;box-shadow:none;padding:0;max-width:none;border-radius:0}.hero{margin:12px 0 8px;padding:12px 18px}.hero svg{width:68px;height:68px}.hero h2{font-size:25px}.card{min-height:83px;padding:10px 12px}.activity{margin-top:10px}.sheet-footer{font-size:9px}.objects{grid-template-columns:repeat(5,22px)}.objects svg{width:22px;height:24px}}
/* Shared activity components: vector artwork stays sharp on paper. */
.art{display:flex;justify-content:center;align-items:center;margin:5px auto;max-width:100%}.art svg{display:block;width:auto;max-width:100%;height:61px}.card .art+.art{margin-top:3px}.task{text-align:center;line-height:1.9;font-size:16px;overflow-wrap:anywhere}.task .write-box{width:12mm;min-width:12mm;height:9mm;min-height:9mm;font-size:17px}.story{margin:7px 0 6px;font-size:12px;line-height:1.45}.card{padding:13px 12px 10px;min-width:0;min-height:114px}.drawing-space{height:65px;border:1px dashed #bdcdd1;border-radius:8px;margin:7px 0}.trace{font-size:40px;letter-spacing:15px;color:#a6b6bf;text-align:center;-webkit-text-stroke:1px #6c858f}.number-path{font-size:18px;line-height:2;text-align:center}.bond{text-align:center;font-size:18px;line-height:2}.math-sign{text-align:center;font-size:17px;line-height:1}.group-label{font-size:10px;font-weight:bold;color:#446272}.solution{margin-top:7px;border-top:1px dashed #b5d5c8;padding-top:6px;color:#c62828;font-size:11px;line-height:1.4}.sheet-footer{gap:12px;line-height:1.5}.hero h2{font-size:25px}.art+small{display:block;text-align:center;font-size:10px}.card:has(.group-label) .art svg{height:38px}.card:has(.math-sign) .art svg{height:39px}.is-answer .drawing-space{height:40px}@media print{.card{min-height:100px;padding:10px 10px 8px}.art svg{height:49px}.card:has(.math-sign) .art svg{height:30px}.card:has(.group-label) .art svg{height:30px}.drawing-space{height:48px}.story{font-size:11px}.task{font-size:14px}.hero{margin:8px 0;padding:8px 16px}.hero h2{font-size:23px}.activity{margin-top:8px}.activity h3{margin-bottom:5px;font-size:13px}.celebrate{padding:7px 0}.number-path{font-size:16px}.solution{font-size:10px}.sheet-footer{font-size:8px}.sheet-head .brand{font-size:20px}}
/* Preserve the physical scale of counting objects, regardless of row count. */
.card .object-art svg{width:calc(var(--art-width) * .8px);height:calc(var(--art-height) * .8px);max-width:100%}
@media print{
  /* Fits both A4 and US Letter inside their 10 mm margins at 100% scale. */
  .sheet{width:190mm;max-width:190mm;margin:0 auto}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4mm}
  .card .object-art svg{width:calc(var(--art-width) * .21mm);height:calc(var(--art-height) * .21mm);max-width:none}
  .edition{font-size:10px}
  .equation{font-size:23px}
}
/* A consistent book-style running footer, independent of activity height. */
.sheet-footer{border-top:1.5px solid #577f84;padding-top:9px}
@page{size:auto;margin:10mm 10mm 22mm}
@media print{
  .sheet-footer{
    position:fixed;bottom:-12mm;left:0;right:0;
    width:190mm;height:9mm;margin:0 auto;
    border-top:.35mm solid #577f84;padding-top:2mm;
    font-size:8px;line-height:1.4;background:white;
  }
}
/* Keep the footer inside the sheet rather than outside the printable page. */
@page{size:auto;margin:10mm}
@media print{
  html,body{margin:0;padding:0}
  .sheet{position:relative;min-height:250mm;padding:0 0 14mm;box-sizing:border-box}
  .sheet-footer{position:absolute;bottom:0;left:0;right:0;width:100%;height:9mm}
}
/* The extra middle activity uses a full-width row, preserving picture scale. */
.activity:nth-of-type(2) .card:nth-child(3){grid-column:1 / -1;min-height:90px}
@media print{.activity:nth-of-type(2) .card:nth-child(3){min-height:22mm}}
@media print{#print-measure{display:none!important}}
.sheet:not(.is-answer) .solution{display:none}
@media print{
  .card .art{margin-top:1px;margin-bottom:1px}
  .card .art+.art{margin-top:1px}
  .card .story{margin:4px 0;line-height:1.3}
  .card .task{line-height:1.5}
  .card .solution{margin-top:3px;padding-top:3px;line-height:1.3}
  .card .group-label{line-height:1.1}
}
/* Labeled placeholders only: no ad network is loaded. */
.ad{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:repeating-linear-gradient(135deg,#e9eff1,#e9eff1 12px,#f4f7f8 12px,#f4f7f8 24px);border:1px dashed #829ba7;color:#516873;letter-spacing:.3px}.ad b{font-size:10px;letter-spacing:1.5px}.ad strong{font-size:13px}.ad small{font-size:10px}.ad-top{max-width:728px;min-height:90px;margin:20px auto 0;padding:12px}.ad-side{min-height:250px}.ad.bottom{min-height:90px;margin-top:24px}.mobile-print-help{margin:18px 0 10px;color:#516873;font-size:12px;line-height:1.6}.mobile-print-help summary{cursor:pointer;font-weight:bold}.mobile-print-help p{margin:8px 0}@media(max-width:850px){.ad-side{display:none}.ad-top{max-width:320px;min-height:100px;margin:15px auto 0}}@media print{.ad,.mobile-print-help{display:none!important}}
