.nu{--nu-ink:#173e40;--nu-accent:#196b5c;--nu-paper:#fffef9;--nu-line:#d0ded5;background:#f7f6ee;color:var(--nu-ink);min-height:100vh;font-family:inherit;font-size:17px;line-height:1.6}.nu *{box-sizing:border-box}.nu a{color:inherit}.nu-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px max(24px,calc((100% - 1160px)/2));border-bottom:1px solid var(--nu-line);background:var(--nu-paper)}.nu-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:30px;font-weight:800}.nu-brand>span{font-size:21px}.nu-header nav{display:flex;flex-wrap:wrap;gap:8px 24px}.nu-header nav a{font-size:14px;text-decoration:none;font-weight:700}.nu-header nav a:hover{text-decoration:underline}.nu-main{max-width:1160px;margin:auto;padding:28px 24px 60px}.nu-footer{padding:24px;text-align:center;border-top:1px solid var(--nu-line);font-size:13px}.nu h1,.nu h2,.nu h3,.nu p{margin:0}.nu h1{font-size:clamp(26px,3.4vw,42px);line-height:1.2;letter-spacing:-.025em}.nu h2{font-size:24px;line-height:1.3}.nu p{margin-top:12px}.nu-eyebrow{display:block;font-size:11px;letter-spacing:.12em;font-weight:800;margin-bottom:10px}.nu-small{font-size:13px;line-height:1.5;color:#4a6966}.nu-page-title{padding:12px 0 28px;max-width:920px}.nu-page-title>p{font-size:18px;max-width:770px}.nu-breadcrumb{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:20px;font-size:14px}.nu-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;gap:8px;border:1px solid #acc8bb;border-radius:10px;background:#fffef9;color:#173e40!important;padding:11px 18px;text-decoration:none;font-size:14px;font-family:inherit;font-weight:750;line-height:1.4;cursor:pointer}.nu-button:hover{background:#eaf0e6}.nu-primary,[data-nu="lesson-done"]{background:var(--nu-accent)!important;border-color:var(--nu-accent)!important;color:white!important;box-shadow:0 3px 0 #153f3730}.nu-button:disabled{opacity:.65;cursor:default}.nu a:focus-visible,.nu button:focus-visible,.nu input:focus-visible,.nu summary:focus-visible{outline:3px solid #2d59d7;outline-offset:4px}.nu-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.nu-panel{background:var(--nu-paper);border:1px solid var(--nu-line);border-radius:20px;overflow:hidden;margin-bottom:24px}.nu-panel:not(.nu-lesson):not(:has(.nu-task-header)){padding:28px}.nu-map{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.nu-lesson-card{display:flex;align-items:start;gap:18px;padding:24px;background:var(--nu-paper);border:1px solid var(--nu-line);border-radius:16px}.nu-lesson-card .nu-eyebrow{margin-bottom:4px}.nu-lesson-card h2{font-size:21px}.nu-lesson-card p{font-size:15px}.nu-node{flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;border:1px solid #a8c4b6;border-radius:50%;font-weight:800;font-size:17px;background:#f1f5eb}.nu-done{border:2px solid #77aa79}.nu-done .nu-node{background:#287842;color:white;border-color:#287842}.nu-status{font-size:12px!important;font-weight:700;color:#337247}.nu-question-banner{background:#e7efe3;padding:22px 30px}.nu-question-banner p{margin:0;font-size:21px;font-weight:750;line-height:1.55}.nu-lesson-body{padding:28px 32px}.nu-stepper{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.nu-stepper a{display:grid;place-items:center;width:36px;height:36px;border:1px solid #8bb598;border-radius:50%;text-decoration:none;font-size:14px}.nu-stepper a[aria-current]{background:var(--nu-accent);color:white;font-weight:750}.nu-copy{max-width:850px;font-size:18px;line-height:1.75}.nu-prerequisites{margin-top:18px;font-size:14px}.nu-prerequisites summary{cursor:pointer;font-weight:700}.nu-visual{margin:24px 0;background:#f0f3e8;border-radius:16px;padding:24px;min-width:0;overflow:hidden}.nu-visual svg{display:block;max-width:100%;height:auto;margin:auto}.nu-visual button{min-height:44px;border:1px solid #88afa0;border-radius:8px;padding:9px 15px;background:#fffef9;font-family:inherit;font-weight:700;font-size:14px;line-height:1.4;color:#173e40;cursor:pointer}.nu-visual button:disabled{opacity:.5;cursor:default}.nu-visual .nu-button{margin:4px}.nu-maths{margin-top:24px;border-left:4px solid var(--nu-accent);padding:12px 22px;background:#e9f0e3;display:grid;gap:12px}.nu-maths>div{font-size:clamp(21px,2.5vw,27px);font-weight:700;line-height:1.8;overflow-wrap:anywhere}.nu-frac{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;line-height:1.12;font-size:.85em;margin:.12em .22em;min-width:.8em}.nu-frac>span{padding:.06em .16em}.nu-frac>span:first-child{border-bottom:1.5px solid currentColor;padding-bottom:.1em}.nu-frac>span:last-child{padding-top:.1em}.nu-mixed{display:inline-flex;align-items:center;gap:.18em;white-space:nowrap}.nu-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 26px;border-top:1px solid var(--nu-line)}.nu-motion{align-items:center}.nu-words{border:1px solid var(--nu-line);border-radius:10px;padding:14px 18px;margin-top:22px;background:#fffef9;font-size:14px}.nu-words summary{font-weight:750;cursor:pointer}.nu-words dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:4px}.nu-words dt{font-weight:800}.nu-words dd{margin:4px 0 0}.nu-task-header{padding:26px 32px;border-bottom:1px solid var(--nu-line)}.nu-task-header h1{font-size:27px}.nu-task-header p{font-size:15px}.nu-task-layout{padding:28px 32px}.nu-task-layout.nu-has-picture{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:28px;align-items:start}.nu-task-layout>.nu-visual{margin:0;padding:20px;position:sticky;top:20px}.nu-answer-panel{min-width:0}.nu fieldset{border:0;padding:0;margin:0;min-width:0}.nu legend{display:block;width:100%;font-size:clamp(23px,2.5vw,31px);line-height:1.5;font-weight:800;padding:0 0 24px;letter-spacing:-.015em}.nu-inputs{display:flex;flex-wrap:wrap;gap:20px}.nu-inputs label{display:flex;flex-direction:column;gap:8px;max-width:100%;flex:1 1 180px;font-size:15px;font-weight:700}.nu-inputs small{font-weight:400}.nu-inputs input,.nu-inputs select{width:100%;max-width:300px;min-width:0;border:2px solid #72a08a;border-radius:10px;background:white;padding:12px 16px;font-family:inherit;font-weight:600;font-size:24px;line-height:1.5;min-height:60px;color:#173e40}.nu-inputs input[readonly]{background:#edf5e9}.nu form>.nu-button{margin-top:20px}.nu-choices{display:grid;gap:12px}.nu-choices label{display:flex;align-items:center;gap:12px;border:1px solid #94b7a0;border-radius:10px;padding:14px 16px;cursor:pointer;min-height:54px}.nu-choices label:has(:checked){background:#f0f2f5;border:2px solid #667184;padding:13px 15px}.nu-choices input{width:20px;height:20px;flex-shrink:0;accent-color:var(--nu-accent)}.nu-help-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 14px}.nu-help-actions button{font-size:13px;min-height:42px}.nu-hint,.nu-worked,.nu-feedback{padding:18px 20px;background:#f2f1e3;border-left:4px solid #98a76d;border-radius:8px;margin-top:16px;font-size:15px}.nu-worked{background:#edf1eb}.nu-work-line{padding:12px 0;border-bottom:1px solid #d6dfd3;font-size:19px;line-height:1.65;overflow-wrap:anywhere}.nu-correct{background:#e1f3d7;border:1px solid #7cb67a;color:#195035}.nu-feedback:focus{outline:none}.nu-result{padding:44px!important}.nu-result h1{font-size:34px}.nu-review-list{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.nu-still *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.nu-entry{padding:30px;border:1px solid #cbdccb;border-radius:18px;background:#f0f4e7;margin:20px 0 28px;color:#173e40}.nu-entry h2{font-size:28px;margin:0}.nu-entry p{margin:8px 0 0}.nu-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.nu-entry-card{display:flex;flex-direction:column;text-decoration:none!important;background:#fffef9;border:1px solid #c6d8ca;border-radius:14px;padding:24px;gap:10px;color:#173e40!important}.nu-entry-card>span{font-size:30px;font-weight:800;color:#196b5c}.nu-entry-card strong{font-size:19px;line-height:1.35}.nu-entry-card small{font-size:13px;line-height:1.5}.nu-entry-card b{font-size:14px;margin-top:auto;padding-top:12px}.nu-entry-card:hover{border-color:#196b5c;box-shadow:0 4px 18px #173e4010}.nu [hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.nu *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:760px){.nu-header{padding:16px 20px;gap:14px;flex-wrap:wrap}.nu-header nav{gap:18px}.nu-main{padding:18px 14px 36px}.nu-map{grid-template-columns:1fr}.nu-lesson-card{padding:22px 18px}.nu-lesson-body,.nu-task-layout,.nu-task-header{padding:22px 20px}.nu-task-layout.nu-has-picture{display:flex;flex-direction:column;gap:22px}.nu-task-layout>.nu-visual{position:static;width:100%}.nu-answer-panel{width:100%}.nu legend{font-size:25px}.nu-question-banner{padding:20px}.nu-controls{padding:18px;flex-wrap:wrap}.nu-visual{padding:16px}.nu-words dl{grid-template-columns:1fr}.nu-entry{padding:24px 20px}.nu-entry-grid{grid-template-columns:1fr}.nu-entry-card{padding:20px}.nu-result{padding:28px!important}.nu-copy{font-size:17px}.nu-maths{padding:14px}.nu-breadcrumb{gap:10px}.nu-visual svg text{font-weight:600}}

/* Question pictures present all information immediately: counting must not race an animation. */
.nu-task-layout .nd-cell{animation:none!important;transform:none!important;opacity:1!important}

/* Keep lesson diagrams as wide as possible on phones; the controls themselves retain their 44px targets. */
@media(max-width:520px){
  .nu-main{padding-left:8px;padding-right:8px}
  .nu-lesson-body{padding:16px 10px}
  .nu-task-layout{padding:16px 10px}
  .nu-task-header{padding:20px 12px}
  .nu-visual{padding:6px}
  .nu-task-layout>.nu-visual{padding:6px}
  .nu-controls{padding:16px 12px}
}

.nu .nu-eyebrow{font-size:14px}

/* Keep instructions separate from the calculation they describe. */
.nu-work-step { padding: 1rem 0; }
.nu-work-step + .nu-work-step { border-top: 1px solid #bbc9bf; margin-top: .5rem; }
.nu-maths .nu-work-label, .nu-worked .nu-work-label { font-size: 1rem; font-weight: 600; line-height: 1.6; margin: 0 0 .65rem; }
.nu-work-equation { line-height: 1.8; overflow-wrap: anywhere; }
.nu-work-equation + .nu-work-equation { margin-top: .6rem; }

.nu-choices label { flex-wrap:wrap; }
.nu-choice-status { margin-left:auto; font-size:.875rem; font-weight:700; }
.nu-choice-status:empty { display:none; }
.nu-choices label[data-choice-state="incorrect"] { background:#fff0ed; border:2px solid #b24531; padding:13px 15px; }
.nu-choices label[data-choice-state="incorrect"] .nu-choice-status { color:#922e20; }
.nu-choices label[data-choice-state="correct"] { background:#e1f3d7; border:2px solid #367c53; padding:13px 15px; }
.nu-choices label[data-choice-state="correct"] .nu-choice-status { color:#195035; }
.nu-feedback.nu-incorrect { background:#fff0ed; border-left-color:#b24531; color:#72291e; }

/* Similar triangles: keep controls prominent and all mathematical labels readable. */
.tr-explorer{padding:1.25rem;background:#edf3ef;border:1px solid #cfddd4;border-radius:1rem;color:#193b45}.tr-controls{display:grid;grid-template-columns:1.15fr 1fr;gap:1rem;margin-bottom:1rem}.tr-control{padding:1.15rem;border-radius:.85rem;background:white;border:2px solid #d4ddd8;min-width:0}.tr-size-control{border-color:#315b9b;box-shadow:0 3px 0 #d5e2f5}.tr-control-heading{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.tr-control-heading label{font-size:1.08rem;font-weight:800}.tr-control output{padding:.3rem .6rem;border-radius:.6rem;background:#e4edff;color:#234b85;font-size:1.3rem;font-weight:800;white-space:nowrap}.tr-angle-control output{background:#fff1d8;color:#87400c}.tr-control p{margin:.6rem 0;font-size:.93rem}.tr-explorer input[type=range]{display:block;width:100%;height:48px;margin:.3rem 0;appearance:none;-webkit-appearance:none;background:transparent;cursor:ew-resize;--tr-accent:#315b9b;touch-action:pan-y}.tr-angle-control input[type=range]{--tr-accent:#ae5b16}.tr-explorer input[type=range]::-webkit-slider-runnable-track{height:10px;border-radius:8px;background:linear-gradient(to right,var(--tr-accent) var(--tr-fill),#dbe2dd var(--tr-fill))}.tr-explorer input[type=range]::-moz-range-track{height:10px;border-radius:8px;background:#dbe2dd}.tr-explorer input[type=range]::-moz-range-progress{height:10px;border-radius:8px;background:var(--tr-accent)}.tr-explorer input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:30px;height:30px;margin-top:-10px;border:4px solid white;border-radius:50%;background:var(--tr-accent);box-shadow:0 1px 6px #16372c55}.tr-explorer input[type=range]::-moz-range-thumb{width:23px;height:23px;border:4px solid white;border-radius:50%;background:var(--tr-accent);box-shadow:0 1px 6px #16372c55}.tr-explorer input:focus-visible{outline:3px solid #466de2;outline-offset:3px;border-radius:.5rem}.tr-range-ends{display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;color:#4f6660}.tr-presets{display:flex;gap:.4rem;margin-top:.85rem}.tr-presets button{flex:1;min-height:44px;padding:.35rem;border:1px solid #aebfd2;border-radius:.6rem;background:white;color:#234b85;font:inherit;font-weight:700;cursor:pointer}.tr-presets button[aria-pressed=true]{color:white;background:#315b9b;border-color:#315b9b}.tr-presets button:hover{box-shadow:0 0 0 2px #a9bdd7}.tr-angle-cue{display:flex;align-items:center;gap:.5rem;color:#87400c}.tr-angle-cue span{font-size:1.8rem}.tr-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.tr-pair figure{margin:0;padding:1rem;background:#fff;border:1px solid #bfd5cb;border-top:4px solid #196b5c;border-radius:.75rem;min-width:0}.tr-pair .tr-triangle-b{border-top-color:#315b9b}.tr-pair figcaption{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline;flex-wrap:wrap}.tr-pair figcaption strong{font-size:1.13rem}.tr-pair figcaption span{font-size:.8rem;color:#516861}.tr-pair svg{display:block;width:100%;max-height:350px;font-size:20px;fill:#193b45}.tr-pair svg text{paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.tr-pair svg .tr-angle-value{stroke:#fff1d8}.tr-angle-value{font-weight:800;font-size:18px}.tr-ratio{padding:.7rem;background:#f1f6f2;border-radius:.5rem;display:grid;gap:.35rem}.tr-triangle-b .tr-ratio{background:#eef3fd}.tr-ratio span{font-size:.8rem}.tr-ratio strong{font-size:1.1rem}.tr-message{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;padding:1rem;background:#dae9df;border-radius:.75rem}.tr-match{font-weight:700}.tr-message>strong{font-size:1.2rem}.tr-message>span:last-child{flex-basis:100%;font-size:.9rem}.tr-footer{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.tr-footer p{flex:1;min-width:180px}.tr-note{font-size:.8rem;color:#536862;margin-bottom:0}.tr-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:650px){.tr-explorer{padding:.75rem}.tr-controls,.tr-pair{grid-template-columns:1fr}.tr-control{padding:.85rem}.tr-pair svg{max-height:320px}.tr-control-heading label{font-size:1rem}}

@media(max-width:650px){.tr-controls{position:sticky;top:0;z-index:3;gap:.4rem;padding:.4rem 0;background:#edf3ef}.tr-control{padding:.5rem .75rem}.tr-control p,.tr-control .tr-range-ends,.tr-presets{display:none}.tr-control output{font-size:1.05rem;padding:.15rem .4rem}.tr-explorer input[type=range]{height:44px;margin:0}.tr-pair .tr-triangle-b{order:-1}.tr-pair svg{max-height:300px}}


.ct-tool{padding:1.25rem;background:#f0f5eb;border-radius:1rem}.ct-root{text-align:center;font-weight:700;padding:1rem}.ct-branches{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-top:2px solid #8fae9e;margin:1rem 0}.ct-branch{border-top:2px solid #196b5c;padding:.75rem;background:white}.ct-branch h3{margin:.4rem 0}.ct-outcomes{display:flex;justify-content:space-around;gap:1rem;border-top:2px solid #8fae9e}.ct-tool svg{display:block;width:100%;max-width:36rem;margin:auto}.ct-tool button[aria-pressed=true]{outline:3px solid #196b5c;outline-offset:2px}@media(max-width:650px){.ct-branches{grid-template-columns:1fr}.ct-branch{border-left:3px solid #8fae9e}}

.nu-recurring{display:inline-block;text-decoration:overline;text-decoration-thickness:1.5px;}

.nu-inputs select{font-size:18px;min-height:60px;max-width:100%}.nu-inputs select:disabled{opacity:1;background:#edf5e9;color:#173e40}.nu-inputs select[aria-invalid="true"]{border-color:#b34836;background:#fff2ec}
.nu-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.nu-question-reminder{font-size:1rem;font-weight:600;color:#40585e;margin-bottom:.5rem}

/* ".nu legend" sets width:100%, which beat the 1px hidden-legend rule and pushed check questions off the side of phones. */
.nu legend.nu-sr-only{width:1px;padding:0}

/* Visited steps are exploration, not evidence of mastery. */
.nu .nu-stepper a.lesson-step-explored{background:#d1fae5;color:#166534;border-color:#15803d}
.nu .nu-stepper a[aria-current="step"]{background:#6d28d9;color:#fff;border-color:#6d28d9;box-shadow:0 0 0 3px #ede9fe;font-weight:800}
