:root{--bg: #f6f7f9;--surface: #ffffff;--text: #1c2430;--muted: #5b6676;--border: #dde2e8;--accent: #1565c0;--accent-hover: #0d4f99;--accent-soft: #e8f0fb;--beam: #2f80d8;--beam-stroke: #1d4f8a;--support: #e7c86a;--load: #3a4350;--plot-line: #c2410c;--plot-fill: rgba(194, 65, 12, .12);--radius: 10px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #11151b;--surface: #1a2029;--text: #e6eaf0;--muted: #9aa6b5;--border: #2c3542;--accent: #6aa8f0;--accent-hover: #93c0f5;--accent-soft: #1d2b3d;--beam: #3d8ee0;--beam-stroke: #8cbcf0;--support: #c9a84a;--load: #c3cbd6;--plot-line: #f08a4b;--plot-fill: rgba(240, 138, 75, .16);--shadow: none;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}a{color:var(--accent)}a:hover{color:var(--accent-hover)}h1,h2,h3{line-height:1.25;margin:0 0 .5em}h1{font-size:clamp(1.6rem,4vw,2.2rem)}h2{font-size:1.35rem;margin-top:1.6em}h3{font-size:1.05rem;margin-top:1.2em}p{margin:0 0 1em}.wrap{max-width:1040px;margin:0 auto;padding:0 16px}.site-header{background:var(--surface);border-bottom:1px solid var(--border)}.site-header .wrap{display:flex;align-items:center;gap:20px;min-height:56px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--text);text-decoration:none}.brand svg{flex:none}.site-nav{display:flex;gap:16px;flex-wrap:wrap;margin-left:auto;font-size:.95rem}.site-nav a{color:var(--muted);text-decoration:none;padding:4px 0}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--text)}.intro{padding:32px 0 8px}.intro p{color:var(--muted);max-width:46em;font-size:1.05rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin:16px 0}.panel>h2:first-child{margin-top:0;font-size:1.1rem}.picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.picker-group{font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:4px 0 8px}.picker-group+.picker{margin-bottom:16px}.pick{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;font:inherit;font-size:.78rem;line-height:1.25;text-align:center}.pick:hover{border-color:var(--accent)}.pick[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent) inset}.pick svg{width:100%;height:auto}.pick-link{justify-content:center;text-decoration:none;font-weight:600;min-height:90px}.work{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:start}@media (max-width: 760px){.work{grid-template-columns:1fr}}.drawing svg{width:100%;height:auto;display:block}.fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.field label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:4px}.field input,.field select{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:7px 9px}.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.field input[aria-invalid=true]{border-color:#d14343}.field-wide{grid-column:1 / -1}.hint{font-size:.85rem;color:var(--muted);margin:10px 0 0}.error{color:#d14343;font-size:.9rem;margin:10px 0 0;min-height:1.2em}.plots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}@media (max-width: 760px){.plots{grid-template-columns:1fr}}.plot h3{margin:0 0 6px;font-size:.95rem}.plot svg{width:100%;height:auto;display:block;overflow:visible}.plot .axis{stroke:var(--border);stroke-width:1}.plot .zero{stroke:var(--muted);stroke-width:1}.plot .line{fill:none;stroke:var(--plot-line);stroke-width:2;stroke-linejoin:round}.plot .area{fill:var(--plot-fill);stroke:none}.plot text{fill:var(--muted);font-size:13px}.plot .label-strong{fill:var(--text);font-weight:600}.plot .cursor{stroke:var(--muted);stroke-dasharray:3 3}.plot .dot{fill:var(--plot-line)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--border);white-space:nowrap}th{font-weight:600;color:var(--muted);font-size:.85rem}tr.poi td{background:var(--accent-soft)}.formula{font-family:"Cambria Math","STIX Two Math",Georgia,Times New Roman,serif;font-size:1.05rem;white-space:nowrap}.frac{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;font-size:.92em;margin:0 2px}.frac>span:first-child{border-bottom:1px solid currentColor;padding:0 3px 1px}.frac>span:last-child{padding:1px 3px 0}.eq-table{width:auto}.eq-table th,.eq-table td{border:0;padding:6px 8px;vertical-align:middle}.eq-table th{font-family:"Cambria Math",Georgia,serif;font-style:italic;color:var(--text);font-size:1.05rem;font-weight:400;text-align:right}.eq-table .range{color:var(--muted);font-size:.88rem}.hint-inline{color:var(--muted);font-weight:400;font-size:.85em}.cta{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.cta p{margin:0;color:var(--muted);max-width:40em}.button{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;padding:9px 16px;border-radius:8px;border:0;font:inherit;cursor:pointer}.button:hover{background:var(--accent-hover);color:#fff}@media (prefers-color-scheme: dark){.button,.button:hover{color:#0d1117}}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:16px 0}.card{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;color:var(--text);text-decoration:none}.card:hover{border-color:var(--accent);color:var(--text)}.card h3{margin:0;font-size:1.05rem}.card p{margin:0;color:var(--muted);font-size:.93rem}.card svg{width:100%;height:90px}.card .more{margin-top:auto;color:var(--accent);font-size:.9rem;font-weight:600}.badge{display:inline-block;font-size:.72rem;font-weight:600;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:1px 8px}.prose{max-width:46em}.prose table{margin:8px 0 16px}.prose th,.prose td{white-space:normal}.site-footer{border-top:1px solid var(--border);margin-top:40px;padding:24px 0 40px;color:var(--muted);font-size:.9rem}.site-footer .wrap{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}.site-footer a{color:var(--muted)}.d-beam{fill:var(--beam);stroke:var(--beam-stroke);stroke-width:.6}.d-shape{fill:var(--beam);stroke:var(--beam-stroke);stroke-width:1;fill-rule:evenodd}.d-support{fill:var(--support);stroke:var(--load);stroke-width:.5}.d-pin{fill:var(--load)}.d-load{fill:none;stroke:var(--load);stroke-width:.7}.d-load-fill{fill:var(--load)}.d-dim{fill:none;stroke:var(--muted);stroke-width:.5}.d-dim-fill{fill:var(--muted)}.d-text{fill:var(--text);font-style:italic;font-family:Georgia,Times New Roman,serif}.d-axis{stroke:var(--text);stroke-width:.7;fill:none}.d-centroid{fill:var(--text)}@media print{.site-header,.site-footer,.picker-panel,.cta-panel{display:none}.panel{box-shadow:none;break-inside:avoid}}
