/* ElectroDesigner-aligned presentation layer for the Catenary PRO development preview. */
body.sag-ed{
  --bg:#f8fafc;--surface:#ffffff;--surface2:#f8fafc;--surface3:#f1f5f9;
  --border:#cbd5e1;--border2:#e5e7eb;--accent:#2563eb;--accent2:#0b0f14;
  --accent3:#6d4aff;--warn:#b42318;--warn2:#835800;--warn3:#b45309;
  --text:#0b0f14;--text2:#475569;--text3:#64748b;
  --font-mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  --font-ui:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  margin:0;background:#f8fafc;color:#0b0f14;font-family:var(--font-ui);font-size:14px;line-height:1.55;
}
body.sag-ed::before{background-image:linear-gradient(rgba(37,99,235,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.028) 1px,transparent 1px);background-size:48px 48px;z-index:-1}
body.sag-ed::after{top:-28%;left:55%;width:58%;height:62%;background:radial-gradient(ellipse,rgba(37,99,235,.055) 0%,transparent 68%);z-index:-1}
.sag-ed .sag-hero{position:relative;padding-top:62px;padding-bottom:38px}
.sag-ed .sag-hero p{max-width:850px}
.sag-ed .sag-hero-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px}
.sag-ed .sag-hero-tags span{padding:7px 9px;background:#fff;border:1px solid #e5e7eb;color:#52606f;font:700 10px/1.2 var(--font-mono);letter-spacing:.035em}
.sag-ed .sag-preview-note{margin-top:20px;display:inline-flex;align-items:center;gap:8px;color:#5f6874;font-size:11px;font-weight:700}
.sag-ed .sag-preview-note::before{content:"";width:7px;height:7px;background:#2563eb;border-radius:50%;box-shadow:0 0 0 4px rgba(37,99,235,.08)}
.sag-ed .app{position:relative;z-index:1;width:min(calc(100% - 48px),1320px);max-width:none;margin:0 auto;padding:34px 0 100px}
.sag-ed .app>header{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:18px 20px;border:1px solid #cbd5e1;background:#fff}
.sag-ed .app>header .logo{width:42px;height:42px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:0;box-shadow:none}
.sag-ed .app>header .logo svg path{stroke:#2563eb!important}.sag-ed .app>header .logo svg circle{fill:#2563eb!important}
.sag-ed .app>header h1{font-family:var(--font-ui);font-size:20px;font-weight:700;letter-spacing:-.025em;color:#0b0f14}
.sag-ed .app>header h1 em{color:#2563eb}.sag-ed .app>header p{font:700 9px/1.5 var(--font-mono);color:#64748b;letter-spacing:.07em}
.sag-ed .hdr-badges{gap:6px}.sag-ed .app>header .badge{border-radius:0;background:#f8fafc;border-color:#d6dde6;color:#475569;padding:6px 8px;font:800 9px/1 var(--font-mono)}
.sag-ed .app>header .badge.bg{color:#11613d;background:#eaf6ef;border-color:#c8e7d5}.sag-ed .app>header .badge.bb{color:#2459ae;background:#f7faff;border-color:#c9daf7}.sag-ed .app>header .badge.bv{color:#6246c9;background:#f8f5ff;border-color:#d9cdfa}
.sag-ed .lang-sel{margin-left:8px;background:#fff;color:#0b0f14;border:1px solid #cbd5e1;border-radius:0;padding:7px 9px;font:700 11px/1 var(--font-ui)}
.sag-ed .preset-strip,.sag-ed .panel{background:#fff;border:1px solid #cbd5e1;border-radius:0;box-shadow:none}
.sag-ed .preset-strip{padding:15px 16px;margin-bottom:14px}.sag-ed .ps-hdr span{color:#64748b;font-weight:800}.sag-ed #condInfo{color:#2563eb!important}
.sag-ed .ctabs{background:#f1f5f9;border-radius:0;padding:3px}.sag-ed .ctab{border-radius:0;color:#64748b;font-weight:700}.sag-ed .ctab:hover{color:#0b0f14}.sag-ed .ctab.active{background:#0b0f14;color:#fff;box-shadow:none}
.sag-ed .pbtn{background:#fff;border:1px solid #d7dee7;color:#64748b;border-radius:0;min-width:118px}.sag-ed .pbtn b{color:#1f2937}.sag-ed .pbtn small{color:#7a8491}.sag-ed .pbtn:hover{border-color:#82abff;background:#f8fbff}.sag-ed .pbtn.active{border-color:#2563eb;background:#eff6ff}.sag-ed .pbtn.active b{color:#1d4ed8}
.sag-ed .scenario-bar{gap:6px;margin:0 0 14px}.sag-ed .scn-lbl{color:#64748b;font-weight:800}.sag-ed .scn-btn{background:#fff;border:1px solid #d7dee7;color:#596575;border-radius:0;font-weight:700}.sag-ed .scn-btn:hover{border-color:#82abff;color:#1d4ed8}.sag-ed .scn-btn.active{border-color:#0b0f14;background:#0b0f14;color:#fff}
.sag-ed .main-grid{grid-template-columns:minmax(0,1fr) 370px;gap:18px}.sag-ed .left-col{gap:18px}
.sag-ed .phdr{padding:14px 17px;border-bottom:1px solid #e5e7eb;background:#fafbfc}.sag-ed .phdr h2{font-family:var(--font-ui);font-size:11px;font-weight:800;letter-spacing:.095em;color:#475569}.sag-ed .dot{box-shadow:none}.sag-ed .dg{background:#2563eb}.sag-ed .db{background:#0b0f14}.sag-ed .dr{background:#b42318}.sag-ed .dy{background:#835800}.sag-ed .dv{background:#6d4aff}
.sag-ed .canvas-wrap{padding:16px}.sag-ed #vizCanvas{height:330px;border-radius:0;background:#fbfdff;border:1px solid #dbe2ea}.sag-ed .cov{top:27px;right:27px;background:rgba(255,255,255,.94);border:1px solid #d8e0e8;border-radius:0;box-shadow:0 12px 30px rgba(15,23,42,.08);backdrop-filter:blur(8px);color:#0b0f14}.sag-ed .ol{color:#64748b}.sag-ed .cleg{color:#64748b}
.sag-ed .ri{padding:16px 17px;border-color:#e5e7eb}.sag-ed .ri:hover{background:#fafbfc}.sag-ed .rl{color:#64748b;font-weight:800}.sag-ed .rv{font-family:var(--font-mono);font-size:21px;font-weight:700;letter-spacing:-.035em;color:#0b0f14}.sag-ed .rs{color:#7a8491}.sag-ed .cg{color:#1d4ed8!important}.sag-ed .cb{color:#0f4c81!important}.sag-ed .cy{color:#835800!important}.sag-ed .cv{color:#6246c9!important}.sag-ed .co{color:#9a4b0c!important}
.sag-ed .ss{border-color:#e5e7eb;padding:12px 16px}.sag-ed .sc{border-radius:0;font-weight:700}.sag-ed .sok{background:#eaf6ef;border-color:#c8e7d5;color:#11613d}.sag-ed .swarn{background:#fff5d9;border-color:#f1daa0;color:#835800}.sag-ed .serr{background:#fef3f2;border-color:#f6c7c2;color:#b42318}
.sag-ed .ipanel{padding:15px 16px}.sag-ed .isec{padding:14px 0;border-color:#e5e7eb}.sag-ed .istitle{color:#64748b;font-weight:800}.sag-ed .istitle::after{background:#e5e7eb}.sag-ed .ig label{color:#64748b;font-weight:800}.sag-ed .ig label em{color:#7a8491}
.sag-ed .ni{background:#fff;border:1px solid #cbd5e1;color:#0b0f14;border-radius:0;font-family:var(--font-ui);font-size:14px;font-weight:600;padding:9px 10px;min-height:41px}.sag-ed .ni:focus{border-color:#82abff;box-shadow:0 0 0 3px rgba(37,99,235,.08)}.sag-ed select.ni option{background:#fff}.sag-ed input:disabled{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8}
.sag-ed input[type=range]{background:#dbe2ea}.sag-ed input[type=range]::-webkit-slider-thumb{background:#2563eb;border-color:#fff;box-shadow:0 0 0 3px rgba(37,99,235,.10)}
.sag-ed .advbtn{color:#64748b;font-weight:800}.sag-ed .advbtn:hover{color:#1d4ed8}.sag-ed .tbar{background:#e2e8f0}.sag-ed .tbar-l{color:#64748b}
.sag-ed .expbtn{background:#0b0f14;color:#fff;border:1px solid #0b0f14;border-radius:0;font-family:var(--font-ui);font-size:13px}.sag-ed .expbtn svg path{stroke:#fff!important}.sag-ed .expbtn:hover{background:#2563eb;border-color:#2563eb;box-shadow:none;transform:none}.sag-ed .sbbtn{background:#fff;border:1px solid #cbd5e1;color:#475569;border-radius:0;font-family:var(--font-ui);font-weight:700}.sag-ed .sbbtn:hover{border-color:#0b0f14;color:#0b0f14}
.sag-ed .ttbl{font-family:var(--font-mono);font-size:10.5px}.sag-ed .ttbl th{background:#fafbfc;color:#64748b;border-color:#e5e7eb;font-weight:800}.sag-ed .ttbl td{border-color:#edf0f3;color:#52606f}.sag-ed .ttbl tr:hover td{background:#fafbfc;color:#0b0f14}.sag-ed .ttbl td.hi{color:#1d4ed8}.sag-ed .ttbl td.tw{color:#835800}.sag-ed .ttbl td.te{color:#b42318}.sag-ed .tr-inst{background:#f7fbf8}.sag-ed .tr-inst:hover td{background:#eef8f1!important}
.sag-ed ::-webkit-scrollbar-track{background:#f8fafc}.sag-ed ::-webkit-scrollbar-thumb{background:#cbd5e1}
.sag-ed .sag-alpha-field{display:block}
.sag-ed .sag-method-note{margin:18px 0 0;padding:14px 16px;border:1px solid #dbe2ea;background:#f8fafc;color:#5f6874;font-size:11px;line-height:1.6}.sag-ed .sag-method-note strong{color:#0b0f14}
.sag-ed .footer{margin-top:0}
@media(max-width:1100px){.sag-ed .main-grid{grid-template-columns:1fr}.sag-ed .main-grid>div[style*="position:sticky"]{position:static!important}.sag-ed .app{width:min(calc(100% - 36px),1320px)}}
@media(max-width:760px){.sag-ed .sag-hero{padding-top:38px;padding-bottom:28px}.sag-ed .app{width:calc(100% - 28px);padding-top:24px}.sag-ed .app>header{align-items:flex-start;flex-wrap:wrap}.sag-ed .hdr-badges{width:100%;margin-left:0}.sag-ed .lang-sel{margin-left:auto}.sag-ed .rg,.sag-ed .rg3{grid-template-columns:1fr!important}.sag-ed .rg .ri,.sag-ed .rg3 .ri{border-right:0!important}.sag-ed .igr{grid-template-columns:1fr}.sag-ed .cov{position:static;margin-top:10px}.sag-ed #vizCanvas{height:280px}.sag-ed .pbtn{min-width:calc(50% - 4px);flex:1 1 calc(50% - 4px)}.sag-ed .scenario-bar{align-items:stretch}.sag-ed .scn-lbl{width:100%}.sag-ed .scn-btn{flex:1 1 auto}.sag-ed .rv{font-size:20px}}
@media(max-width:480px){.sag-ed .app>header .logo{display:none}.sag-ed .app>header h1{font-size:18px}.sag-ed .hdr-badges .badge.bv{display:none}.sag-ed .pbtn{min-width:100%}.sag-ed .sbbtns{grid-template-columns:1fr}.sag-ed #vizCanvas{height:240px}}


/* SAG FREE + PRO SPLIT */
.sag-ed[data-sag-mode="free"] .app{display:none}
.sag-ed[data-sag-mode="pro"] #sagFreePanel{display:none}
.sag-mode-shell{padding:24px 0 0;display:flex;align-items:end;justify-content:space-between;gap:28px}
.sag-mode-copy strong{display:block;margin-top:7px;font-size:18px;letter-spacing:-.02em}
.sag-mode-switch{display:grid;grid-template-columns:1fr 1fr;width:min(100%,590px);border:1px solid var(--line-strong);background:#fff}
.sag-mode-switch button{min-height:76px;padding:13px 16px;text-align:left;border:0;border-right:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}
.sag-mode-switch button:last-child{border-right:0}.sag-mode-switch button>span{grid-row:1/3;padding:5px 7px;border:1px solid var(--line-strong);font:800 9px/1 var(--font-mono);letter-spacing:.06em;color:#64748b}.sag-mode-switch button b{font-size:14px;line-height:1.2}.sag-mode-switch button small{font-size:10px;color:#64748b}.sag-mode-switch button.active{background:#0b0f14;color:#fff}.sag-mode-switch button.active>span{border-color:#475569;color:#93c5fd}.sag-mode-switch button.active small{color:#a8b3c2}
.sag-free{padding:28px 0 100px}.sag-free-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:18px;align-items:start}.sag-free-card,.sag-pro-teaser{background:#fff;border:1px solid var(--line-strong)}
.sag-free-head{padding:23px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;align-items:start}.sag-free-head h2,.sag-pro-teaser h2{margin:8px 0 0;font-size:26px;letter-spacing:-.035em}.sag-free-head p{margin:8px 0 0;color:#64748b;font-size:13px;max-width:650px}.sag-free-badge{padding:7px 9px;border:1px solid #c8e7d5;background:#eaf6ef;color:#11613d;font:800 10px/1 var(--font-mono);letter-spacing:.05em;white-space:nowrap}
.sag-free-body{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(300px,1.1fr);border-bottom:1px solid var(--line)}.sag-free-form{padding:22px 24px;display:grid;grid-template-columns:1fr 1fr;gap:16px;border-right:1px solid var(--line)}.sag-free-form label{font-size:12px;font-weight:750;color:#334155;display:flex;flex-direction:column;gap:7px}.sag-free-form label>span{font-size:10px;color:#7a8491;font-weight:700}.sag-free-form input,.sag-free-form select{width:100%;min-height:45px;border:1px solid var(--line-strong);background:#fff;padding:10px 11px;color:#0b0f14;outline:none}.sag-free-form input:focus,.sag-free-form select:focus{border-color:#82abff;box-shadow:0 0 0 3px rgba(37,99,235,.08)}.sag-free-form small{font-size:10px;color:#7a8491;font-weight:500;line-height:1.45}.sag-inline-control{display:grid;grid-template-columns:1fr 90px}.sag-inline-control select{border-left:0}.sag-free-validation{grid-column:1/-1;padding:10px 12px;background:#fef3f2;border:1px solid #f6c7c2;color:#b42318;font-size:11px}
.sag-free-visual{padding:22px 24px;background:#fbfdff;display:flex;flex-direction:column;justify-content:center}.sag-free-svg-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:7px}.sag-free-svg-head span{font:800 10px/1 var(--font-mono);letter-spacing:.08em;color:#64748b}.sag-free-svg-head strong{font:700 13px/1 var(--font-mono);color:#2563eb}.sag-free-visual svg{width:100%;height:auto;max-height:245px}.sag-free-visual svg circle{fill:#0b0f14}.sag-free-visual .tower-line{stroke:#64748b;stroke-width:3}.sag-free-visual .ground-line{stroke:#94a3b8;stroke-width:1.4}.sag-free-visual .datum-line{stroke:#cbd5e1;stroke-width:1;stroke-dasharray:5 5}.sag-free-visual .sag-line{fill:none;stroke:#2563eb;stroke-width:3}.sag-free-visual .dimension-line{stroke:#835800;stroke-width:1;stroke-dasharray:3 3}.sag-free-visual>small{text-align:center;color:#7a8491;font-size:10px}
.sag-free-results{display:grid;grid-template-columns:repeat(3,1fr)}.sag-free-results>div{padding:17px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.sag-free-results>div:nth-child(3n){border-right:0}.sag-free-results>div:nth-last-child(-n+3){border-bottom:0}.sag-free-results span{display:block;margin-bottom:6px;font-size:10px;font-weight:800;letter-spacing:.045em;color:#64748b;text-transform:uppercase}.sag-free-results strong{font:700 20px/1.2 var(--font-mono);letter-spacing:-.03em}
.sag-free-foot{padding:15px 18px;border-top:1px solid var(--line);background:#fafbfc;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.free-approx-state{padding:6px 8px;border:1px solid;font:800 9px/1 var(--font-mono);letter-spacing:.045em;white-space:nowrap}.free-approx-state.ok{background:#eaf6ef;border-color:#c8e7d5;color:#11613d}.free-approx-state.warn{background:#fff5d9;border-color:#f1daa0;color:#835800}.sag-free-foot p{margin:0;color:#64748b;font-size:10px;line-height:1.5}.sag-free-foot code{padding:7px 9px;background:#fff;border:1px solid var(--line);font-size:11px;white-space:nowrap}
.sag-pro-teaser{padding:25px;position:sticky;top:100px}.sag-pro-teaser>p{margin:12px 0 20px;color:#64748b;font-size:13px;line-height:1.65}.sag-pro-list{border-top:1px solid var(--ink)}.sag-pro-list>div{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);align-items:start}.sag-pro-list b{font:800 10px/1.5 var(--font-mono);color:#2563eb}.sag-pro-list span{font-size:12px;font-weight:650;color:#334155}.sag-pro-open{width:100%;min-height:47px;margin-top:20px;border:1px solid #0b0f14;background:#0b0f14;color:#fff;padding:0 15px;display:flex;align-items:center;justify-content:space-between;font-weight:750;cursor:pointer}.sag-pro-open:hover{background:#2563eb;border-color:#2563eb}.sag-pro-teaser>small{display:block;margin-top:11px;color:#7a8491;font-size:10px;line-height:1.5}
@media(max-width:980px){.sag-mode-shell{display:block}.sag-mode-switch{margin-top:16px;width:100%}.sag-free-grid{grid-template-columns:1fr}.sag-pro-teaser{position:static}.sag-free-body{grid-template-columns:1fr}.sag-free-form{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:620px){.sag-mode-switch{grid-template-columns:1fr}.sag-mode-switch button{border-right:0;border-bottom:1px solid var(--line)}.sag-mode-switch button:last-child{border-bottom:0}.sag-free{padding-top:18px}.sag-free-head{padding:18px;display:block}.sag-free-badge{display:inline-block;margin-top:13px}.sag-free-form{grid-template-columns:1fr;padding:18px}.sag-free-visual{padding:18px}.sag-free-results{grid-template-columns:1fr 1fr}.sag-free-results>div,.sag-free-results>div:nth-child(3n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.sag-free-results>div:nth-child(2n){border-right:0}.sag-free-results>div:nth-last-child(-n+2){border-bottom:0}.sag-free-foot{grid-template-columns:1fr}.sag-free-foot code{justify-self:start}}
