*{box-sizing:border-box}html{font:17px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#173247;background:#f7f6f1}body{margin:0}a{color:#11616c;text-underline-offset:.2em}a:hover{color:#0a3845}button,input,select,textarea{font:inherit}button,input,select,textarea,a{touch-action:manipulation}:focus-visible{outline:3px solid #bc550c;outline-offset:3px}header,main,footer{max-width:1180px;margin:auto;padding:24px 30px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #d9dedb}.brand{font-size:1.55rem;font-weight:800;letter-spacing:-.04em;color:#142f43;text-decoration:none}.brand span{display:block;font-size:.73rem;font-weight:500;letter-spacing:0;color:#52636b}nav,footer div,.links{display:flex;gap:20px;flex-wrap:wrap}nav a{font-size:.9rem}.intro{max-width:790px;padding:28px 0 35px}h1{font-size:clamp(2rem,4.3vw,3.3rem);line-height:1.12;letter-spacing:-.045em;margin:.25em 0 .55em}h2{font-size:1.35rem;letter-spacing:-.025em}h3{font-size:1.05rem;margin-top:1.7em}.lead{font-size:1.16rem;color:#3d5561}.eyebrow{font-size:.73rem;letter-spacing:.13em;font-weight:750;color:#4d656a}.workspace{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.3fr);gap:24px;align-items:start}.input-card,.output-card{background:#fff;border:1px solid #d8e0dd;border-radius:18px;padding:26px;min-width:0;box-shadow:0 4px 20px #17324705}.output-card{border-top:5px solid #237378}.field{display:flex;flex-direction:column;gap:5px;margin:0 0 18px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}label{font-weight:650;font-size:.91rem}input,select,textarea{width:100%;min-width:0;padding:10px 12px;border:1px solid #9dafaF;border-radius:7px;color:#173247;background:#fff}input[aria-invalid=true]{border:2px solid #a3312b}.hint,.small,figcaption{font-size:.81rem;color:#53676f}.hint{line-height:1.4}.buttons{display:flex;gap:10px;flex-wrap:wrap}button{border:1px solid #175969;border-radius:7px;background:#175969;color:white;padding:10px 15px;font-size:.86rem;font-weight:650;cursor:pointer}button.secondary{background:white;color:#175969}button:disabled{opacity:.4;cursor:default}.note{background:#edf4f1;border-radius:9px;padding:17px;margin-top:24px;font-size:.86rem}.note p{margin:.4em 0}.note strong{color:#284c53}#error{color:#a3312b;font-size:.9rem;min-height:1.4em}#error:empty{margin-bottom:0}.big-result{font-size:clamp(1.9rem,3.8vw,3.2rem);font-weight:760;letter-spacing:-.04em;line-height:1.1;margin:.35em 0;color:#175969;overflow-wrap:anywhere}.muted{color:#53676f;margin-bottom:0}figure{margin:25px 0}svg#graph{display:block;width:100%;height:auto;max-width:560px;overflow:visible;font:12px system-ui}svg text{fill:#38535d}.plot-bg{fill:#f5f8f6}.axis{stroke:#a1b1b3;fill:none;stroke-width:1}.polygon{stroke:#7c939b;fill:none;stroke-dasharray:5 4;stroke-width:1.3}.curve{stroke:#176c73;fill:none;stroke-width:3}.control-dot{fill:#fff;stroke:#607d88;stroke-width:1.5}.selected-dot{fill:#b14c08;stroke:#fff;stroke-width:2}figcaption{line-height:1.4;margin-top:7px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#edf2f1;padding:14px;border-radius:7px;font-size:.85rem}code{font-size:.91em}details{margin:22px 0;background:#f5f7f5;padding:13px;border-radius:8px;font-size:.84rem}summary{cursor:pointer;font-weight:650}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;border-bottom:1px solid #dee5e1;padding:8px 10px}th{background:#edf4f1}.table-wrap{max-width:100%;overflow-x:auto}.reading{max-width:790px;margin:35px auto 50px}.reading h2{margin-top:1.8em}.reading li{margin-bottom:.6em}.reading p{overflow-wrap:anywhere}.email{overflow-wrap:anywhere}.links{margin-top:22px}footer{border-top:1px solid #d9dedb;margin-top:48px;font-size:.86rem;color:#53676f}.skip{position:absolute;left:15px;top:-100px;background:white;padding:10px;z-index:2}.skip:focus{top:10px}[hidden]{display:none!important}#copy-status{font-size:.82rem;color:#375961}textarea{resize:vertical}@media(max-width:850px){.workspace{grid-template-columns:1fr}.intro{padding-top:22px}.output-card{padding:22px}}@media(max-width:480px){header,main,footer{padding:20px 16px}header{align-items:start;gap:16px}.brand{font-size:1.3rem}.brand span{max-width:145px;font-size:.65rem}nav{gap:8px;flex-direction:column;font-size:.82rem}.input-card,.output-card{padding:19px}.controls{gap:0 12px}.big-result{font-size:2.05rem}.intro .lead{font-size:1.05rem}h1{font-size:2.2rem}.reading{margin-top:25px}button{padding:10px 12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}