@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#172b36;background:#f4f8fa;font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #1f7a8c;outline-offset:3px}.wrap{max-width:1190px;margin:auto;padding:0 28px}.site-header{background:#fff;border-bottom:1px solid #dce8ec}.header-inner{min-height:79px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:700 1.4rem 'Space Grotesk',sans-serif;letter-spacing:-.045em;white-space:nowrap}.brand .mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#096978;color:#fff;font:700 1.4rem 'Space Grotesk',sans-serif;letter-spacing:-.09em}.brand strong{color:#096978}.nav{display:flex;align-items:center;gap:26px}.nav a{text-decoration:none;color:#475c64;font-weight:700;font-size:.92rem}.nav a[aria-current=page],.nav a:hover{color:#096978}.intro{padding:57px 0 31px}.eyebrow{font-weight:800;color:#096978;text-transform:uppercase;font-size:.76rem;letter-spacing:.13em}.intro h1,.article h1{font:700 clamp(2.2rem,5vw,3.7rem)/1.09 'Space Grotesk',sans-serif;letter-spacing:-.055em;margin:13px 0 14px;max-width:780px}.intro p{margin:0;max-width:650px;color:#49616c;font-size:1.11rem;line-height:1.65}.workspace{display:grid;grid-template-columns:330px minmax(0,1fr);gap:22px;align-items:start;margin-bottom:56px}.panel,.preview,.article-card{background:#fff;border:1px solid #d9e5e9;border-radius:20px;box-shadow:0 14px 35px rgba(23,62,76,.045)}.panel{padding:25px;position:sticky;top:20px}.panel h2,.preview-top h2{font:700 1.25rem 'Space Grotesk',sans-serif;margin:0}.panel .hint{font-size:.91rem;color:#62747d;line-height:1.5;margin:8px 0 25px}.field{margin:20px 0}.field label{display:block;font-weight:800;font-size:.89rem;margin-bottom:9px}.field select,.field input[type=text]{width:100%;border:1px solid #cedde2;border-radius:10px;background:#fff;color:#172b36;padding:12px 13px;min-height:46px}.checkbox{display:flex;align-items:flex-start;gap:10px;color:#3a545e;font-weight:600;line-height:1.4;font-size:.92rem}.checkbox input{margin-top:4px;accent-color:#096978}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;padding:12px 17px;min-height:47px;font-weight:800;border:1px solid transparent;text-decoration:none}.primary{background:#096978;color:#fff}.primary:hover{background:#075463}.secondary{background:#fff;border-color:#cbdde3;color:#155361}.secondary:hover{background:#eaf3f5}.panel .primary{width:100%;margin-top:19px}.preview{overflow:hidden}.preview-top{padding:22px 26px;background:#eaf3f5;display:flex;align-items:center;justify-content:space-between;gap:18px}.preview-top p{margin:6px 0 0;font-size:.87rem;color:#59717b}.actions{display:flex;gap:8px;flex-wrap:wrap}.worksheet{margin:24px 26px 26px;background:#fff;border:1px solid #d7e0e4;min-height:565px;padding:34px 37px;box-shadow:0 6px 22px rgba(20,57,70,.07)}.sheet-heading{display:flex;justify-content:space-between;gap:20px;align-items:start;border-bottom:2px solid #172b36;padding-bottom:15px;margin-bottom:22px}.sheet-heading h3{font:700 1.5rem 'Space Grotesk',sans-serif;letter-spacing:-.04em;margin:0}.sheet-heading small{color:#596b75}.sheet-meta{display:flex;gap:16px;font-size:.8rem;white-space:nowrap}.sheet-meta span{display:block;border-bottom:1px solid #8c9da6;min-width:110px;padding:5px}.problems{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;row-gap:18px}.problem{min-height:66px;display:flex;align-items:start;gap:7px;font:500 1.06rem 'Space Grotesk',sans-serif;white-space:nowrap}.problem .n{min-width:25px;color:#70838b;font-size:.79rem;padding-top:3px}.problem .line{display:inline-block;border-bottom:1px solid #758991;min-width:54px;height:26px}.answer-sheet{border-top:1px solid #d7e0e4;padding-top:21px;margin-top:12px;break-before:page}.answer-sheet h3{font:700 1.35rem 'Space Grotesk',sans-serif;margin:0 0 18px}.answer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 16px}.answer-grid span{font-size:.92rem}.answer-grid b{color:#5c6f79}.explainer{padding:0 0 65px}.explainer h2,.browse h2{font:700 1.7rem 'Space Grotesk',sans-serif;letter-spacing:-.04em;margin:0 0 15px}.explainer p,.explainer li{color:#49616c;line-height:1.7;max-width:830px}.browse{padding:0 0 70px}.browse-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.browse a{padding:22px 24px;border-radius:15px;border:1px solid #d9e5e9;background:#fff;text-decoration:none}.browse a:hover{border-color:#096978}.browse a strong{display:block;font:700 1.1rem 'Space Grotesk',sans-serif;margin-bottom:7px}.browse a span{color:#647780;font-size:.9rem}.site-footer{border-top:1px solid #dce8ec;background:#fff;padding:28px 0;color:#61737c;font-size:.86rem}.footer-inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-links{display:flex;gap:20px}.footer-links a{text-decoration:none}.article{max-width:840px;padding-top:60px;padding-bottom:75px}.article p,.article li{line-height:1.8;color:#435a65}.article h2{font:700 1.4rem 'Space Grotesk',sans-serif;margin:30px 0 10px}.article-card{padding:28px;margin-top:28px}.article .primary{margin-top:12px}@media(max-width:840px){.workspace{grid-template-columns:1fr}.panel{position:static}.preview-top{align-items:flex-start}.worksheet{min-height:auto}.problems{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.wrap{padding:0 17px}.header-inner{min-height:70px}.brand{font-size:1.12rem}.brand .mark{width:33px;height:33px;font-size:1.1rem}.nav{gap:12px}.nav a{font-size:.8rem}.intro{padding:38px 0 26px}.intro p{font-size:1rem}.preview-top{padding:19px;flex-direction:column}.actions{width:100%}.actions button{flex:1}.worksheet{margin:12px;padding:17px;overflow:auto}.sheet-heading{flex-wrap:wrap}.sheet-meta span{min-width:75px}.problems{gap:11px 8px}.problem{font-size:.78rem;min-height:49px;gap:3px}.problem .n{min-width:18px;font-size:.66rem}.problem .line{min-width:24px}.answer-grid{grid-template-columns:repeat(2,1fr)}.browse-grid{grid-template-columns:1fr}}@page{size:letter;margin:.55in}@media print{html,body{background:#fff;color:#000}body{margin:0}.site-header,.site-footer,.intro,.panel,.preview-top,.explainer,.browse{display:none!important}.wrap{max-width:none;padding:0}.workspace{display:block;margin:0}.preview,.worksheet{border:0;box-shadow:none;border-radius:0;margin:0;padding:0;min-height:0}.sheet-heading{margin-bottom:.35in}.problems{grid-template-columns:repeat(3,1fr);row-gap:.18in}.problem{min-height:.45in;font-size:13pt}.answer-sheet{margin-top:0;border:0;padding:0}.answer-grid{row-gap:.18in}.answer-sheet[hidden]{display:none!important}}
/* Skill guides and longer fraction expressions */
.explain-group{max-width:850px;margin-bottom:35px}
.explain-group h3{font:700 1.09rem/1.35 'Space Grotesk',sans-serif;margin:20px 0 5px}
.explain-group p{margin:0 0 15px}
.problem{white-space:nowrap}
@media(max-width:600px){.problem{font-size:.72rem}.problem .line{min-width:18px}}
/* Keep the reading and worksheet areas inset on narrow screens. */
html,body{max-width:100%;overflow-x:clip}
.wrap{width:100%;max-width:1160px;padding-inline:clamp(24px,4vw,58px)}
.workspace{grid-template-columns:minmax(290px,330px) minmax(0,1fr)}
.panel,.preview,.worksheet{min-width:0}
.problems{grid-template-columns:repeat(3,minmax(0,1fr))}
.problem{white-space:normal;overflow-wrap:anywhere}
@media(max-width:1100px){
  .workspace{grid-template-columns:1fr}
  .panel{position:static}
  .worksheet{margin:18px;padding:28px}
}
@media(max-width:600px){
  .wrap{padding-inline:24px}
  .intro{padding-block:44px 27px}
  .panel{padding:22px}
  .preview-top{padding:20px}
  .worksheet{margin:12px;padding:18px}
  .problems{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:13px}
  .problem{font-size:.94rem;min-height:64px}
  .problem .n{min-width:23px}
  .problem .line{min-width:35px}
  .nav{gap:14px}
}
@media(max-width:420px){
  .sheet-meta{flex-wrap:wrap}
  .problems{grid-template-columns:1fr}
  .answer-grid{grid-template-columns:repeat(2,1fr)}
  .nav a[href="/about/"]{display:none}
}
@media print{
  html,body{overflow:visible;max-width:none}
  .wrap{max-width:none;width:auto;padding:0}
  .workspace{display:block}
  .worksheet{margin:0;padding:0}
  .problems{grid-template-columns:repeat(3,minmax(0,1fr))}
  .problem{min-height:.45in;font-size:13pt}
}
.problems.wide-layout{grid-template-columns:1fr}
.problems.wide-layout .problem{min-height:58px}
.problems.graph-layout{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}
.graph-problem{display:block;min-height:205px;white-space:normal}
.graph-problem .n{display:inline-block;margin-right:6px}
.graph-problem .graph-grid{display:block;margin:8px auto 0}
.graph-grid{width:132px;height:132px;max-width:100%;background:#fff}
.answer-grid.graph-answers{grid-template-columns:repeat(2,minmax(0,1fr))}
.graph-answers>span{display:block;padding:8px;border:1px solid #e0e9ec;break-inside:avoid}
.graph-answers .graph-grid{display:block;margin:7px auto 0}
.advanced-link{display:flex;align-items:center;justify-content:space-between;gap:18px;text-decoration:none;background:#0d596a;color:#fff;padding:25px 28px;border-radius:17px;margin:10px auto 60px}
.advanced-link strong{display:block;font:700 1.2rem 'Space Grotesk',sans-serif;margin-bottom:5px}
.advanced-link span{color:#d5ebed}
.advanced-link:hover{background:#0b4857}
@media(max-width:600px){
  .problems.graph-layout{grid-template-columns:1fr}
  .graph-problem{min-height:205px}
  .advanced-link{padding:21px 22px}
  .header-inner{flex-wrap:wrap;gap:8px;justify-content:center;padding-block:12px}
  .nav{width:100%;justify-content:center;flex-wrap:wrap}
  .nav a[href="/about/"]{display:none}
}
@media print{
  .advanced-link{display:none!important}
  .problems.graph-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
  .problems.wide-layout{grid-template-columns:1fr}
  .answer-grid.graph-answers{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.learn-link{display:inline-block;margin-top:17px;color:#096978;font-weight:800;text-underline-offset:4px}
.lesson{scroll-margin-top:22px;padding-block:4px 36px}
.lesson h2{font:700 clamp(1.45rem,2.8vw,1.8rem)/1.25 'Space Grotesk',sans-serif;letter-spacing:-.035em;margin:30px 0 12px}
.lesson>p{max-width:830px;color:#435a65;font-size:1.04rem;line-height:1.75;margin:0}
.lesson-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;max-width:1050px;margin:16px 0 23px;padding:0;list-style:none;counter-reset:lesson}
.lesson-steps li{counter-increment:lesson;background:#fff;border:1px solid #d9e5e9;border-radius:15px;padding:20px 20px 21px}
.lesson-steps li::before{content:counter(lesson);display:inline-grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#096978;color:#fff;font-weight:800;font-size:.9rem}
.lesson-steps h3,.worked-example h3{font:700 1.09rem/1.35 'Space Grotesk',sans-serif;margin:13px 0 7px}
.lesson-steps p,.worked-example p{font-size:1rem;line-height:1.65;color:#435a65;margin:0}
.worked-example{max-width:850px;background:#eaf3f5;border-left:4px solid #096978;border-radius:0 13px 13px 0;padding:17px 22px 20px}
.worked-example h3{margin-top:0}
@media(max-width:820px){.lesson-steps{grid-template-columns:1fr}}
@media print{.lesson{display:none!important}}
.level-guide{color:#4b6570;font-size:.88rem;line-height:1.5;margin:8px 0 0}
