:root{--bg:#fbf8f3;--surface:#fff;--ink:#1f2433;--muted:#5b6070;--line:#e4ddd2;--accent:#2d4a7a;--accent-ink:#fff;--highlight:#b5462f;--result-bg:#eef3fb;--error:#b3261e;--radius:10px;--max:46rem;--serif:Georgia, "Iowan Old Style", "Palatino Linotype", serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#15171d;--surface:#1d2029;--ink:#e9e6df;--muted:#a3a7b3;--line:#2f3340;--accent:#8fb0e8;--accent-ink:#11131a;--highlight:#ee8d73;--result-bg:#1f2a3d;--error:#ff8a80}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:18px/1.6 var(--sans);-webkit-text-size-adjust:100%;margin:0}a{color:var(--accent)}h1,h2,h3{font-family:var(--serif);line-height:1.25}h1{margin:.5rem 0 .75rem;font-size:2rem}h2{margin-top:2.5rem;font-size:1.45rem}h3{font-size:1.15rem}.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:.75rem;display:flex}.brand{font-family:var(--serif);color:var(--ink);align-items:center;gap:.5rem;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex}.brand svg{flex:none}.site-header nav a{margin-left:1rem;font-size:.95rem}.lede{color:var(--muted);font-size:1.1rem}.tool-list{gap:.75rem;padding:0;list-style:none;display:grid}.tool-list a{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);padding:1rem 1.1rem;text-decoration:none;display:block}.tool-list a:hover{border-color:var(--accent)}.tool-list strong{color:var(--accent);font-size:1.1rem;display:block}.tool-list span{color:var(--muted);font-size:.95rem}.calc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:1.5rem 0;padding:1.25rem}.fields{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem;display:grid}.field label{margin-bottom:.3rem;font-size:.95rem;font-weight:600;display:block}.field small{color:var(--muted);margin-top:.25rem;font-size:.82rem;display:block}.field input,.field select{width:100%;font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;padding:.55rem .7rem}.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:1px}.field input[aria-invalid=true]{border-color:var(--error)}.check{align-items:center;gap:.5rem;font-size:.95rem;display:flex}.result{background:var(--result-bg);border-radius:var(--radius);margin-top:1.25rem;padding:1rem 1.1rem}.result[hidden]{display:none}.result .big{font-family:var(--serif);margin:0 0 .25rem;font-size:1.7rem;font-weight:700}.result ul{margin:.5rem 0 0;padding-left:1.2rem}.result .error{color:var(--error);font-weight:600}table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.45rem .5rem}th{font-weight:600}.table-scroll{overflow-x:auto}.formula{background:var(--surface);border-left:4px solid var(--highlight);border-radius:0 8px 8px 0;padding:.75rem 1rem}details{border-bottom:1px solid var(--line);padding:.75rem 0}summary{cursor:pointer;font-weight:600}.related{margin-top:3rem}.ad-slot{min-height:280px;margin:2rem 0}.site-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:4rem;padding:1.5rem 0 3rem;font-size:.9rem}.site-footer a{margin-right:1rem}@media (width<=480px){body{font-size:17px}h1{font-size:1.65rem}.site-header nav a{margin:0 1rem 0 0}}:root{--fabric:#d3def0;--fabric2:#b4c7e6}@media (prefers-color-scheme:dark){:root{--fabric:#2a3954;--fabric2:#3a5079}}.diagram-pair{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;margin-top:1rem;display:grid}.diagram-pair figure{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:8px;margin:0;padding:.75rem}.diagram-pair figure.best{border:2px solid var(--accent);padding:calc(.75rem - 1px)}.diagram-pair svg{max-width:100%;height:auto}.diagram-pair figcaption{color:var(--muted);margin-top:.4rem;font-size:.9rem;line-height:1.4}.diagram-pair figcaption strong{color:var(--ink)}.tag{background:var(--accent);color:var(--accent-ink);border-radius:999px;margin-left:.4rem;padding:0 .45rem;font-size:.75rem;font-weight:600;display:inline-block}.dg-fabric{fill:var(--fabric)}.dg-fabric2{fill:var(--fabric2)}.dg-trim{fill:var(--highlight);fill-opacity:.22}.dg-seam{stroke:var(--highlight);stroke-width:2px;stroke-dasharray:5 3}.dg-outline{fill:none;stroke:var(--ink);stroke-width:1.5px}.dg-top{fill:none;stroke:var(--ink);stroke-width:1px;stroke-dasharray:3 3}.dg-label{fill:var(--ink);font:12px var(--sans)}.dg-dim{fill:var(--ink);font:600 12px var(--sans)}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.25rem .9rem;margin:.6rem 0 0;font-size:.85rem;display:flex}.sw{vertical-align:-.1rem;border-radius:2px;width:.9rem;height:.9rem;margin-right:.3rem;display:inline-block}.sw.dg-fabric{background:var(--fabric)}.sw.dg-trim{background:color-mix(in srgb, var(--highlight) 22%, var(--fabric))}.sw-seam{border-top:2px dashed var(--highlight);width:1rem;height:0}.sw-top{border:1px dashed var(--ink);background:var(--surface)}
