.swgeo{--geo-ink:var(--wp--preset--color--ink,#0d2a50);color:var(--geo-ink);font:14px/1.45 system-ui,sans-serif;max-width:1280px;margin:0 auto}.swgeo *{box-sizing:border-box}.swgeo h2{font-size:23px;margin:0 0 3px}.swgeo h3{font-size:15px;margin:0}.swgeo p{margin:5px 0}.swgeo .swgeo-intro,.swgeo .swgeo-note{font-size:12px;color:#435974}.swgeo label{display:flex;flex-direction:column;gap:2px;font-size:11px;min-width:0}.swgeo input,.swgeo select,.swgeo button{font:14px/1.2 system-ui,sans-serif;color:var(--geo-ink);min-height:32px;border:1px solid #b7c9df;border-radius:4px;background:#fff;padding:5px 7px;max-width:100%}.swgeo button{cursor:pointer;background:#eaf2fd}.swgeo :focus-visible{outline:3px solid #075dcc;outline-offset:2px}.swgeo-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:8px 0}.swgeo-result-options{font-size:12px;margin-bottom:5px}.swgeo summary{cursor:pointer;min-height:28px;padding:4px 0}.swgeo-checkboxes{display:flex;flex-wrap:wrap;gap:8px 14px;padding:8px;background:#eaf2fd}.swgeo-checkboxes label{flex-direction:row;align-items:center;font-size:13px;gap:6px}.swgeo input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:0}.swgeo-row{display:grid;grid-template-columns:minmax(0,1fr) 155px;gap:10px;margin:7px 0;padding:8px 10px;border:1px solid #b7c9df;border-radius:6px;background:#fff}.swgeo-row-main{min-width:0}.swgeo-input-line{display:flex;gap:5px;align-items:end;flex-wrap:wrap}.swgeo-input-line h3{align-self:center;min-width:12px}.swgeo-input-line label{width:79px}.swgeo-input-line label:has([id$='-include']){width:38px;align-items:center;align-self:center}.swgeo-input-line label:has([id$='-shape']){width:150px}.swgeo-input-line label:has([id$='-method']){width:165px}.swgeo-input-line label:has([id$='-unit']){width:59px}.swgeo-input-line label:has([id$='-density-unit']){width:85px}.swgeo-input-line input{width:100%}.swgeo-input-line label:has([id$='-density']){width:95px}.swgeo-row-diagram{align-self:center;min-width:0;text-align:center}.swgeo-cross-section{display:block;width:100%;height:102px}.swgeo-diagram-caption{display:block;color:#435974;font-size:10px}.swgeo-error{font-size:12px;color:#9b2020}.swgeo .swgeo-error:empty{display:none}.swgeo [aria-invalid=true]{border-color:#9b2020}.swgeo-results-wrap{overflow-x:auto;margin:5px 0;max-width:100%}.swgeo .swgeo-result-table{width:100%;border-collapse:collapse;font-size:13px;margin:0;line-height:1.3}.swgeo .swgeo-result-table th,.swgeo .swgeo-result-table td{padding:3px 7px;text-align:left;border:1px solid #dbe4ef;white-space:nowrap;font-variant-numeric:tabular-nums}.swgeo-result-table thead{background:#f3f7fc}.swgeo-result-table tbody th{font-size:11px;color:#435974}.swgeo-actions{display:flex;gap:7px;align-items:start;flex-wrap:wrap}.swgeo-actions>button{min-height:25px;font-size:11px;padding:4px 7px}.swgeo-actions details{font-size:12px;flex:1;min-width:120px}.swgeo-actions summary{min-height:25px;padding:3px}.swgeo-actions details p{overflow-wrap:anywhere}.swgeo-totals{padding:10px;background:#eaf2fd;border-radius:6px;margin:10px 0}.swgeo .swgeo-totals h3{margin:0}.swgeo-totals>p{font-size:11px;color:#435974}.swgeo-total-values{display:flex;flex-wrap:wrap;gap:6px 18px}.swgeo-total-values p{font-size:13px}.swgeo-total-values .swgeo-mass-note{width:100%;font-size:11px}.swgeo-reference{font-size:12px;border-top:1px solid #dbe4ef;padding-top:6px}.swgeo-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.swgeo .swgeo-dialog{width:min(900px,96vw);max-height:94vh;padding:16px;border:1px solid #b7c9df;border-radius:8px;color:#0d2a50;background:#fff;overflow:auto}.swgeo-dialog::backdrop{background:#08182b99}.swgeo-dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.swgeo .swgeo-dialog h2{font-size:19px;margin:0}.swgeo-viewer-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}.swgeo-interactive{width:100%;height:min(55vh,450px);background:#f7f9fc;border:1px solid #dbe4ef;touch-action:none;cursor:grab}.swgeo-interactive:active{cursor:grabbing}.swgeo-dialog>p{font-size:12px}.swgeo-viewer-controls button{min-height:40px}.swgeo-viewer-controls input{width:140px}
@media(max-width:760px){.swgeo-row{grid-template-columns:minmax(0,1fr) 115px}.swgeo-cross-section{height:88px}.swgeo-input-line label{width:87px}.swgeo-input-line label:has([id$='-shape']){width:145px}}
@media(max-width:520px){.swgeo{font-size:14px}.swgeo-row{grid-template-columns:1fr;padding:9px}.swgeo-row-diagram{max-width:180px;width:100%;justify-self:center}.swgeo-cross-section{height:110px}.swgeo-input-line label{flex:1 1 85px;width:auto}.swgeo-input-line label:has([id$='-include']){flex:0 0 40px}.swgeo-input-line h3{flex:0 0 12px}.swgeo input,.swgeo select,.swgeo button{min-height:44px}.swgeo input[type=checkbox]{min-height:24px;width:24px;height:24px}.swgeo-actions>button{min-height:44px;font-size:12px}.swgeo summary{min-height:44px;padding:11px 0}.swgeo-checkboxes label{min-height:44px}.swgeo-actions details{flex-basis:100%}.swgeo-result-table th,.swgeo-result-table td{font-size:12px}.swgeo-dialog{padding:10px}.swgeo-viewer-controls input{width:100%}.swgeo-controls label{flex:1 1 110px}}
.swgeo [hidden]{display:none!important}
/* Near-full-screen editor: the drawing fills remaining height on desktop. */
.swgeo .swgeo-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:calc(100vh - 16px);height:calc(100dvh - 16px);max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);margin:auto;padding:12px;overflow:hidden}
.swgeo .swgeo-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px}
.swgeo .swgeo-dialog h2,.swgeo .swgeo-dialog h3{padding:0;line-height:1.3}
.swgeo .swgeo-dialog .swgeo-dialog-head h2,.swgeo .swgeo-dialog .swgeo-editor-results h3{margin:0}
.swgeo .swgeo-dialog .swgeo-measurements h3{margin:0 0 5px}
.swgeo .swgeo-dialog .swgeo-editor-help,.swgeo .swgeo-dialog .swgeo-editor-status,.swgeo .swgeo-dialog .swgeo-editor-results p{line-height:1.45}
.swgeo .swgeo-dialog .swgeo-viewer-legend{line-height:1.35}
.swgeo-dialog-head{position:static;padding:0;background:#fff}
.swgeo-viewer{position:relative;min-width:0;min-height:0;display:grid;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto;gap:5px}
.swgeo-editor-header{grid-row:1}.swgeo-editor-help{grid-row:2}.swgeo-editor-status{grid-row:3}.swgeo-editor-conflicts{grid-row:4}.swgeo-editor-results{grid-row:5}.swgeo-editor-layout{grid-row:6}.swgeo-editor-actions{grid-row:7}
.swgeo-editor-header{display:flex;gap:10px;flex-wrap:wrap;margin:0}
.swgeo-editor-header label{font-size:12px;min-width:150px;flex:1}
.swgeo-editor-help{font-size:12px;color:#435974}
.swgeo .swgeo-editor-help{margin:0}
.swgeo-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:12px;min-height:0}
.swgeo-editor-scene{min-width:0;min-height:0;display:flex;flex-direction:column}
.swgeo-editor-scene .swgeo-viewer-controls{flex:none;gap:5px;margin:0 0 6px}
.swgeo-editor-scene .swgeo-viewer-controls button{min-height:34px;font-size:12px;padding:5px 7px}
.swgeo-editor-scene .swgeo-interactive{display:block;flex:1 1 0;min-height:120px;max-height:none;height:100%;aspect-ratio:auto}
.swgeo-editor-scene .swgeo-viewer-legend{flex:none;font-size:11px;margin:5px 0 0;line-height:1.35}
.swgeo .swgeo-editor-status{padding:6px 8px;background:#eaf2fd;border-radius:4px;font-size:13px;margin:0}
.swgeo-editor-inspector{min-height:0;overflow:auto;padding:0 4px 4px;scrollbar-gutter:stable}
.swgeo-measurement-list{display:flex;flex-direction:column;gap:5px}
.swgeo-measurement{display:flex;gap:5px;align-items:end}
.swgeo-measurement label{flex:1;font-size:12px}
.swgeo-measurement input{width:100%}
.swgeo-measurement button{font-size:11px;min-height:32px;max-width:85px}
.swgeo .swgeo-measurements h3,.swgeo .swgeo-editor-results h3{font-size:14px;margin:0 0 5px}
.swgeo-measurements>label{margin-top:8px;font-size:12px}
.swgeo-editor-conflicts{font-size:12px;max-height:100px;overflow:auto}
.swgeo-editor-conflicts:empty{display:none}
.swgeo-editor-conflicts button{margin:3px 6px 5px 0}
.swgeo-cut-controls{margin-top:10px;border-top:1px solid #b7c9df}
.swgeo-cut-controls label{font-size:12px;margin:6px 0}
.swgeo-cut-controls input:not([type=checkbox]),.swgeo-cut-controls select{width:100%}
.swgeo-cut-controls p{font-size:12px;overflow-wrap:anywhere}
.swgeo-editor-results{display:flex;gap:6px 14px;align-items:baseline;flex-wrap:wrap}
.swgeo .swgeo-editor-results h3{margin:0}
.swgeo .swgeo-editor-results p{margin:0}
.swgeo-draft-values{display:flex;flex-wrap:wrap;gap:3px 16px;font-size:12px}
.swgeo-editor-actions{display:flex;gap:10px;background:#fff;border-top:1px solid #b7c9df;padding:7px 0 0;z-index:2}
.swgeo-editor-actions button{min-height:36px}
.swgeo-dimension-popup{position:absolute;left:0;right:0;bottom:49px;z-index:5;background:#fff;border:2px solid #075dcc;border-radius:6px;box-shadow:0 4px 22px #142e4c44;padding:12px;display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.swgeo-dimension-popup label{font-size:13px;flex:1;min-width:120px}
.swgeo-dimension-popup input{width:100%}
.swgeo-interactive [data-edit-dimension]{cursor:pointer}
.swgeo-interactive [data-edit-dimension]:focus text{fill:#075dcc;text-decoration:underline}
/* Small/short viewports retain readable controls and scroll the editor body. */
@media(max-width:800px),(max-height:600px){
 .swgeo .swgeo-dialog{width:calc(100vw - 8px);max-width:calc(100vw - 8px);height:calc(100vh - 8px);height:calc(100dvh - 8px);max-height:calc(100vh - 8px);max-height:calc(100dvh - 8px);padding:8px}
 .swgeo-viewer{display:block;overflow:auto;scrollbar-gutter:stable}
 .swgeo-editor-header,.swgeo-editor-help,.swgeo-editor-status,.swgeo-editor-results{margin-bottom:8px!important}
 .swgeo-editor-layout{min-height:auto}
 .swgeo-editor-scene .swgeo-interactive{flex:none;height:clamp(220px,45vh,500px);height:clamp(220px,45dvh,500px);min-height:220px}
 .swgeo-editor-inspector{overflow:visible;max-height:none;padding-top:5px}
 .swgeo-editor-actions{position:sticky;bottom:0;padding:8px 0;margin-top:8px}
 .swgeo-dimension-popup{position:sticky;bottom:54px}
}
@media(max-width:800px){
 .swgeo-editor-layout{grid-template-columns:1fr}
 .swgeo-measurement-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:521px) and (max-width:800px){
 .swgeo-editor-scene .swgeo-interactive{height:clamp(220px,33vh,400px);height:clamp(220px,33dvh,400px)}
}
@media(max-width:520px){
 .swgeo-measurement-list{grid-template-columns:1fr}
 .swgeo-editor-header label{min-width:120px}
 .swgeo-measurement input,.swgeo-measurement button{min-height:44px}
 .swgeo-editor-scene .swgeo-viewer-controls input{width:100%}
 .swgeo-editor-scene .swgeo-viewer-controls button,.swgeo-editor-actions button{min-height:44px}
}

@media(max-width:520px){.swgeo-result-table thead{display:none}.swgeo-result-table tbody{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.swgeo-result-table tr,.swgeo-result-table tbody th{display:block}.swgeo .swgeo-result-table td{display:flex;flex-direction:column;justify-content:center;min-height:60px;white-space:normal;overflow-wrap:anywhere}.swgeo-result-table td:before{content:attr(data-label);font-size:11px;font-weight:600;color:#435974;margin-bottom:2px}}

@media(max-width:520px){.swgeo-input-line label:has([id$="-shape"]){flex:1 1 145px}.swgeo-input-line label:has([id$="-method"]){flex:1 1 155px}.swgeo-input-line label:has([id$="-unit"]){flex:0 0 65px}.swgeo-input-line label:has([id$="-density-unit"]){flex:1 1 100px}}
