#geo-tool { min-width:0; }
#geo-tool input, #geo-tool select { min-width:0; max-width:100%; }
.geo-diagram { display:block; width:100%; max-width:420px; height:auto; margin:12px auto; }
#geo-tool p, #geo-tool li, #geo-tool td, .geo-formulas td { overflow-wrap:anywhere; }
.geo-formulas { table-layout:fixed; width:100%; }
.geo-formulas th { width:30%; }
#geo-output table { width:100%; table-layout:fixed; }
#geo-output th { width:48%; }

/* Keep dimension labels readable where construction lines pass nearby. */
.geo-diagram text { paint-order:stroke fill; stroke:#fff; stroke-width:4px; stroke-linejoin:round; }
.geo-quick { display:flex; flex-wrap:wrap; gap:8px 16px; margin:12px 0; }
.geo-quick a { padding:4px 0; }
