:root{--ink:#172334;--muted:#566579;--paper:#f8fafc;--soft:#eaf1f7;--green:#2d628f;--green-dark:#173f66;--gold:#d79a32;--line:#d3dee9;--white:#fff;--blue:#2875a9;--orange:#db7b21;--pink:#b83b73;color-scheme:light;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:100%;line-height:1.55}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper)}a{color:var(--green);text-underline-offset:.18em}a:hover{color:var(--green-dark)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:20;padding:.65rem 1rem;color:#fff;background:var(--green-dark);border-radius:.35rem}.skip-link:focus{top:1rem}.container{width:min(76rem,calc(100% - 2rem));margin-inline:auto}.site-header{border-bottom:1px solid var(--line);background:rgba(248,250,252,.97)}.header-inner{min-height:5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{display:inline-flex;flex-direction:column;color:var(--ink);text-decoration:none;line-height:1.05}.brand strong,h1,h2,h3{font-family:inherit}.brand strong{font-size:1.55rem;letter-spacing:-.02em}.brand span{margin-top:.25rem;color:var(--muted);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}nav ul{display:flex;flex-wrap:wrap;gap:.25rem;margin:0;padding:0;list-style:none}nav a{display:block;padding:.45rem .65rem;border-radius:.35rem;color:var(--ink);font-weight:650;text-decoration:none}nav a:hover,nav a[aria-current=page]{color:var(--green-dark);background:var(--soft)}main{min-height:65vh}.hero{padding:clamp(3.7rem,9vw,7rem) 0;background:radial-gradient(circle at 85% 10%,#dbe8f4 0,transparent 35%),linear-gradient(145deg,var(--paper),#eef4f9)}.eyebrow{margin:0 0 .65rem;color:var(--green);font-size:.82rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}h1,h2,h3{line-height:1.15}h1{max-width:15ch;margin:0;font-size:clamp(2.5rem,7vw,5rem);letter-spacing:-.035em}h2{margin:0 0 1rem;font-size:clamp(1.7rem,4vw,2.55rem)}h3{margin:0 0 .45rem;font-size:1.35rem}.lede{max-width:45rem;margin:1.25rem 0 0;color:var(--muted);font-size:clamp(1.08rem,2vw,1.28rem)}.section{padding:clamp(2.8rem,7vw,5rem) 0}.section.tint{background:var(--soft)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem}.card{padding:1.4rem;border:1px solid var(--line);border-radius:.7rem;background:#fff;box-shadow:0 10px 28px rgba(22,34,29,.05)}.card p{color:var(--muted)}.card-link{color:inherit;text-decoration:none}.card-link:hover h3{text-decoration:underline}.tag{display:inline-block;padding:.16rem .5rem;border:1px solid #b8cce0;border-radius:999px;color:var(--green-dark);background:#edf4fa;font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.button,button{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.65rem 1rem;border:2px solid var(--green);border-radius:.45rem;color:#fff;background:var(--green);font:inherit;font-weight:750;cursor:pointer;text-decoration:none}.button:hover,button:hover{color:#fff;background:var(--green-dark);border-color:var(--green-dark)}button.secondary{color:var(--green-dark);background:transparent}button.secondary:hover{color:#fff;background:var(--green-dark)}button:disabled,input:disabled{opacity:.55;cursor:not-allowed}.site-footer{padding:2.5rem 0;border-top:1px solid var(--line);color:var(--muted);background:#fff}.footer-inner{display:flex;justify-content:space-between;align-items:start;gap:2rem}.footer-links{display:flex;flex-wrap:wrap;gap:.9rem}.footer-inner p{margin:0}.activity-intro{padding:2rem 0 1rem}.activity-intro h1{font-size:clamp(2.2rem,5vw,4rem)}.activity-intro .lede{max-width:60rem}.crumbs{margin-bottom:1rem;font-size:.9rem}.sim-layout{display:grid;grid-template-columns:minmax(17rem,22rem) minmax(0,1fr);gap:1rem;align-items:start;padding:1rem 0 4rem}.panel{padding:1rem;border:1px solid var(--line);border-radius:.7rem;background:#fff;box-shadow:0 8px 24px rgba(22,34,29,.06)}.controls{position:sticky;top:1rem}.controls h2,.display-panel h2{font-size:1.5rem}.control{margin:0 0 1rem}.control label,.control legend{display:block;margin-bottom:.35rem;font-weight:750}.pair{display:grid;grid-template-columns:1fr 5rem;gap:.65rem;align-items:center}input[type=range]{width:100%;accent-color:var(--green)}input[type=number],select{width:100%;min-height:2.55rem;padding:.4rem .5rem;border:1px solid #9cac9f;border-radius:.35rem;background:#fff;color:var(--ink);font:inherit}.hint{display:block;margin-top:.2rem;color:var(--muted);font-size:.82rem}.button-row{display:flex;gap:.6rem;margin-bottom:1.2rem}.button-row button{flex:1}.status-box{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-bottom:1rem}.metric{padding:.6rem;border-radius:.4rem;background:var(--soft);text-align:center}.metric strong{display:block;font-size:1.25rem}.metric span{font-size:.75rem;color:var(--muted)}.canvas-wrap{position:relative;min-height:24rem;border:1px solid var(--line);border-radius:.5rem;overflow:hidden;background:#f7fafc}.canvas-wrap canvas{display:block;width:100%;height:24rem}.legend{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:.75rem 0 0;padding:0;list-style:none;font-size:.85rem}.legend span{display:inline-block;width:.75rem;height:.75rem;margin-right:.3rem;border-radius:50%;vertical-align:-.05rem}.chart-wrap{margin-top:1rem}.chart-wrap svg{display:block;width:100%;height:13rem;border:1px solid var(--line);border-radius:.5rem;background:#fff}.chart-caption{margin:.4rem 0 0;color:var(--muted);font-size:.85rem}.model-note{margin-top:1rem}.model-note summary{cursor:pointer;font-weight:750}.model-note p,.instructions li{color:var(--muted)}.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}@media(max-width:54rem){.sim-layout{grid-template-columns:1fr}.controls{position:static}.canvas-wrap,.canvas-wrap canvas{height:20rem;min-height:20rem}}@media(max-width:40rem){.header-inner,.footer-inner{align-items:flex-start;flex-direction:column;padding:1rem 0}nav a{padding-left:0;margin-right:.65rem}.status-box{grid-template-columns:1fr}.pair{grid-template-columns:minmax(0,1fr) 4.5rem}.canvas-wrap,.canvas-wrap canvas{height:18rem;min-height:18rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
