:root{--dark:#121b18;--gold:#ead06b;--paper:#f6f5ee;--ink:#17241d;--sage:#e4ead9;--muted:#465543;--line:#c6d0bd;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0;min-width:280px;font-size:16px;font-weight:600}button,input,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,select,summary{touch-action:manipulation}button,summary{cursor:pointer}button:disabled{cursor:default;opacity:.5}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700}p{line-height:1.6}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,svg:focus-visible{outline:3px solid #5574d4;outline-offset:4px}.shell{width:min(1500px,calc(100% - 64px));margin-inline:auto}.skip-link{position:fixed;z-index:5;top:8px;left:8px;background:var(--gold);padding:14px 18px;transform:translateY(-180%)}.skip-link:focus{transform:none}
.demo-header{background:var(--dark);color:var(--paper)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px}.brand{display:inline-flex;align-items:center;gap:11px;min-height:44px;font-size:26px;font-weight:700;letter-spacing:-.04em;white-space:nowrap}.brand img{border-radius:9px}.brand>span>span{color:var(--gold)}.back-link{min-height:44px;display:inline-flex;align-items:center}.back-link:hover{text-decoration:underline;text-underline-offset:5px}.demo-header :focus-visible{outline-color:var(--gold)}
.page-heading{padding:36px 0 28px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.eyebrow{font-size:13px;font-weight:700;color:var(--muted);margin-bottom:12px}.page-heading h1{font-size:clamp(28px,3vw,43px);line-height:1.13;letter-spacing:-.035em;max-width:820px}.page-heading p:not(.eyebrow){max-width:760px;color:var(--muted);margin-top:16px}.mode-switch{display:flex;gap:5px;padding:5px;border:1px solid var(--line);border-radius:12px;flex-shrink:0;background:#e9eddf}.mode-switch a{min-height:46px;padding:12px 14px;border-radius:8px;font-weight:700;line-height:1.4;text-align:center;display:flex;align-items:center;justify-content:center}.mode-switch a[aria-current=page]{background:var(--dark);color:var(--paper)}.mode-switch a:hover{background:#d5dfc9}.mode-switch a[aria-current=page]:hover{background:#2d4335}.no-script{margin-bottom:24px;padding:20px;border:1px solid #a5892b;border-radius:8px;background:#f0df9c}.no-script a{text-decoration:underline}
.workspace{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.work-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;background:#e9eddf;border-bottom:1px solid var(--line);flex-wrap:wrap}.work-tools>p{max-width:720px;font-size:15px}.work-tools p>span{margin-inline:9px;color:#7a7c50}.work-actions{display:flex;gap:10px;flex-wrap:wrap}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #9baa8e;border-radius:9px;padding:11px 16px;font-size:16px;font-weight:700;line-height:1.4;background:#fff;text-align:center}.button:hover:not(:disabled){background:#f4e5aa;border-color:#b79c3d}.button-gold{background:var(--gold);border-color:#c0a34a}.reset-button{background:transparent}.workspace-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px}.drawing-panel{min-width:0}.drawing-toolbar{min-height:70px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);background:#f9faf4}.drawing-toolbar>p{font-weight:700}.zoom-tools{display:flex;align-items:center;gap:7px;flex-shrink:0}.zoom-tools button{min-width:44px;min-height:44px;border:1px solid #b3c0a9;border-radius:7px;background:#fff;font-size:24px;font-weight:700;line-height:1}.zoom-tools button:hover:not(:disabled){background:var(--sage)}.zoom-tools output{width:52px;text-align:center;font-size:14px;font-weight:700}.zoom-tools .fit-button{font-size:15px;padding-inline:11px;margin-left:4px}.drawing-surface{height:clamp(480px,70vh,800px);min-height:480px;background:#f7f8f2;overflow:hidden;position:relative}#drawing{display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;outline-offset:-4px}#drawing.is-dragging{cursor:grabbing}.canvas-paper{fill:#f7f8f2}.plan-background{pointer-events:none}.room-caption{font:700 19px "Segoe UI",Arial,sans-serif;fill:#304733;paint-order:stroke;stroke:#fff;stroke-width:5;stroke-linejoin:round;text-anchor:middle;pointer-events:none}
.connection-group{cursor:pointer;outline:none}.connection-hit{fill:none;stroke:transparent;stroke-linecap:round;stroke-linejoin:round;pointer-events:stroke}.connection{fill:none;stroke:#a68a28;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.connection-group.is-selected .connection{stroke:#315f45;stroke-width:4.5}.connection-group:focus-visible .connection{stroke:#5574d4;stroke-width:4}.cable-caption-bg{fill:#fffef7;stroke:#d0c59a;stroke-width:1;rx:5}.cable-caption{font:700 15px "Segoe UI",Arial,sans-serif;fill:#4d4d29;text-anchor:middle;pointer-events:none}.connection-group.is-selected .cable-caption-bg{fill:#f1dda1;stroke:#8f7932;stroke-width:2}.connection-group:focus-visible .cable-caption-bg{stroke:#5574d4;stroke-width:3}
.point{cursor:pointer;outline:none;color:#315f45}.point .touch-area{fill:transparent;stroke:none;pointer-events:all}.point .point-halo{fill:#fffef7;stroke:#9ab08c;stroke-width:1.5;pointer-events:none}.point.is-selected{color:#745c14}.point.is-selected .point-halo{fill:#f5e3a1;stroke:#a48a2c;stroke-width:3}.point:focus-visible .point-halo{stroke:#5574d4;stroke-width:3.5}.point-icon{fill:#fbfcf6;stroke:currentColor;stroke-width:1.8;pointer-events:none}.point[data-point-type=board] .point-icon{fill:#ead06b}.point-label{font:700 17px "Segoe UI",Arial,sans-serif;fill:#26452f;paint-order:stroke;stroke:#fffef7;stroke-width:5;stroke-linejoin:round;pointer-events:none}.point-room{font:600 14px "Segoe UI",Arial,sans-serif;fill:#465543;paint-order:stroke;stroke:#fffef7;stroke-width:4;stroke-linejoin:round;pointer-events:none}.point-badge{fill:#fffef7;stroke:#c6d0bd;stroke-width:1.4;pointer-events:none}.point.is-selected .point-badge{fill:#fff6d3;stroke:#a48a2c;stroke-width:2}.gesture-help{color:var(--muted);padding:14px 18px;background:#f9faf4;border-top:1px solid var(--line)}
.detail-panel{padding:24px;background:#f5f4eb;border-left:1px solid var(--line);min-width:0}.detail-top{display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;color:var(--muted);flex-wrap:wrap;margin-bottom:22px}.detail-top output{white-space:nowrap}.detail-panel h2{font-size:26px;line-height:1.2;letter-spacing:-.03em;margin-bottom:13px}.detail-panel>p{color:var(--muted)}.selection-details{display:grid;gap:10px;margin-block:20px}.selection-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;border:1px solid #c9d1bd;background:#fffdf5;border-radius:9px;min-width:0}.selection-item strong{display:block;font-size:16px;line-height:1.4;overflow-wrap:anywhere}.selection-item small{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:4px}.selection-item button{min-width:44px;min-height:44px;border:1px solid #c6cdbb;background:#f0f2e8;border-radius:7px;font-size:22px;flex-shrink:0}.selection-item.is-empty{background:transparent;border-style:dashed;color:var(--muted)}#add-point{width:100%}
.cable-form{margin-top:24px;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:18px}.cable-form h3{font-size:23px;line-height:1.25;margin-bottom:10px}.form-connection{color:var(--muted);margin-bottom:20px;overflow-wrap:anywhere}.cable-form fieldset{min-width:0;border:0;padding:0;margin:0}.cable-form legend{font-size:14px;font-weight:700;margin-bottom:12px;color:var(--muted)}.field{display:flex;flex-direction:column;gap:8px;margin-top:16px;min-width:0;font-weight:700}.field-unit{font-weight:600;color:var(--muted)}.field select,.field input{width:100%;max-width:100%;min-width:0;min-height:48px;border:1px solid #9baa8e;border-radius:8px;background:#fff;padding:11px 12px;font-size:16px;font-weight:600}.field select{padding-right:28px}.field input::placeholder{color:#67755f;opacity:1}.field [aria-invalid=true]{border-color:#aa352c;box-shadow:0 0 0 1px #aa352c}.field-help{font-size:13px;color:var(--muted);margin-top:7px;line-height:1.5}.form-error{font-size:15px;line-height:1.55;color:#8c2d25;background:#fff0e7;border:1px solid #d6a692;border-radius:7px;padding:12px;margin-top:17px}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.form-actions>.button:first-child{flex:1}.mini-legend{display:grid;gap:13px;padding-top:24px;border-top:1px solid var(--line);margin-top:27px}.mini-legend>span{font-size:14px;line-height:1.5;display:flex;align-items:center;gap:10px}.legend-wire{width:24px;height:3px;background:#a68a28;flex-shrink:0}.legend-selected{width:19px;height:19px;background:#f5e3a1;border:2px solid #a48a2c;border-radius:50%;flex-shrink:0}.keyboard-help{margin-top:22px;border-top:1px solid var(--line);padding-top:8px}.keyboard-help summary{font-size:16px;font-weight:700;min-height:44px;line-height:1.5;padding-block:10px}.keyboard-help p{font-size:16px;line-height:1.65;margin-top:10px;color:var(--muted)}.demo-status{min-height:58px;border-top:1px solid var(--line);padding:16px 20px;background:#e5ecd9;line-height:1.6}
.cable-overview{padding-block:36px 12px}.overview-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px}.overview-heading h2{font-size:30px;line-height:1.15;letter-spacing:-.025em}.overview-heading>p{max-width:430px;color:var(--muted)}.overview-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}.cable-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.cable-list button{width:100%;min-height:70px;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;font-size:16px;line-height:1.5}.cable-list button:hover{border-color:#927c33;background:#fffdf4}.cable-list button[aria-pressed=true]{background:#f5e5af;border-color:#a48a2c}.cable-list strong,.cable-list small{display:block}.cable-list small{font-size:14px;color:var(--muted);margin-top:3px}.cable-list .edge-length{font-weight:700;white-space:nowrap;flex-shrink:0}.empty-list{background:#fff;padding:24px;border:1px dashed #aeba9f;border-radius:10px;color:var(--muted)}.cable-totals{padding:24px;background:#e9eddf;border:1px solid var(--line);border-radius:12px;min-width:0}.cable-totals h3{font-size:21px;line-height:1.3;margin-bottom:16px}.summary-row{display:flex;justify-content:space-between;gap:16px;padding-block:12px;border-bottom:1px solid #c7d2bc;font-size:15px;line-height:1.5}.summary-row strong{white-space:nowrap}.summary-row small{display:block;font-size:13px;color:var(--muted)}.summary-empty{font-size:14px;color:var(--muted)}.total-length{font-size:18px;font-weight:700;margin-top:18px}.demo-footer{display:flex;justify-content:space-between;gap:25px;padding:22px 0 30px;color:var(--muted);align-items:center}.demo-footer p{font-size:14px;max-width:700px}.demo-footer a{font-size:16px;font-weight:600;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:5px}
@media(max-width:1199px){.page-heading{display:block}.mode-switch{width:fit-content;margin-top:24px}.workspace-layout{grid-template-columns:minmax(0,1fr) 320px}.detail-panel{padding:20px}.drawing-toolbar{flex-wrap:wrap}.drawing-surface{height:580px}.overview-layout{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:999px){.shell{width:calc(100% - 40px)}.workspace-layout{grid-template-columns:1fr}.detail-panel{border-left:0;border-top:1px solid var(--line);padding:24px}.detail-panel>p,.selection-details,.cable-form{max-width:680px}.selection-details{grid-template-columns:repeat(2,minmax(0,1fr))}#add-point{width:auto;min-width:200px}.detail-top{margin-bottom:18px}.drawing-toolbar{flex-wrap:nowrap}.drawing-surface{height:clamp(450px,64vh,700px)}.mini-legend{display:flex;gap:20px;flex-wrap:wrap}.overview-layout{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:650px){.shell{width:calc(100% - 28px)}.header-inner{min-height:72px;gap:10px}.brand{font-size:23px;gap:8px}.brand img{width:34px;height:34px}.back-link{font-size:14px}.page-heading{padding-top:27px}.page-heading h1{font-size:31px}.page-heading p:not(.eyebrow){margin-top:14px}.mode-switch{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:4px;padding:4px}.mode-switch a{padding:10px 8px;font-size:16px;min-height:53px}.workspace{border-radius:12px}.work-tools{padding:15px;gap:13px}.work-tools>p{font-size:14px;line-height:1.8}.work-tools p>span{margin-inline:4px}.work-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}.work-actions .button{font-size:14px;padding:10px 8px;min-height:48px}.drawing-toolbar{padding:12px;display:block}.drawing-toolbar>p{margin-bottom:10px}.zoom-tools{justify-content:flex-start;gap:6px}.zoom-tools .fit-button{margin-left:auto;font-size:15px}.drawing-surface{height:440px;min-height:440px}.gesture-help{padding:13px 15px}.detail-panel{padding:20px}.detail-panel h2{font-size:25px}.selection-details{grid-template-columns:1fr}.detail-top{font-size:13px}#add-point{width:100%}.form-actions .button{font-size:16px}.mini-legend{display:grid;gap:13px}.mini-legend>span{font-size:14px}.demo-status{padding:15px}.cable-overview{padding-top:30px}.overview-heading{display:block}.overview-heading>p{margin-top:16px}.overview-heading h2{font-size:28px}.overview-layout{grid-template-columns:1fr;gap:18px}.cable-list button{padding:14px;align-items:flex-start;gap:10px}.cable-list small{font-size:13px}.cable-totals{padding:20px}.demo-footer{display:block;padding-top:20px}.demo-footer p{margin-bottom:8px}}
@media(max-width:359px){.brand{font-size:21px}.brand img{width:31px;height:31px}.back-link{font-size:13px}.header-inner{gap:8px}.page-heading h1{font-size:28px}.mode-switch a{font-size:15px}.work-tools{padding:12px}.drawing-toolbar{padding:10px}.zoom-tools{gap:4px}.zoom-tools button{min-width:44px}.zoom-tools output{width:43px}.zoom-tools .fit-button{padding-inline:9px;font-size:14px}.detail-panel{padding:17px}.cable-list button{display:block}.cable-list .edge-length{display:block;margin-top:8px}.form-actions{display:grid;grid-template-columns:1fr}.form-actions>.button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
.point-badge{pointer-events:all}
body[data-demo-mode=tree] .point{cursor:grab}
body[data-demo-mode=tree] #drawing.is-dragging .point{cursor:grabbing}
.junction-circuit{font:800 8px "Segoe UI",Arial,sans-serif;fill:#173a2b;paint-order:stroke;stroke:#fffef7;stroke-width:1;pointer-events:none}
.form-backdrop{position:fixed;inset:0;background:rgba(18,27,24,.46);z-index:19;pointer-events:none}
.cable-form:not([hidden]){position:fixed;z-index:20;left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 28px));max-height:min(84vh,760px);overflow:auto;margin:0;padding:24px;background:#fffef7;border:2px solid #b19b46;border-radius:16px;box-shadow:0 18px 60px rgba(13,25,19,.30)}
.cable-form fieldset:not([hidden]){display:block}
.cable-form fieldset legend{font-size:16px;color:#17241d}
@media(max-width:650px){.cable-form:not([hidden]){top:auto;bottom:0;transform:translateX(-50%);max-height:82vh;width:100vw;border-radius:18px 18px 0 0;padding:21px 22px 28px}}

body[data-demo-mode=plan] .point[data-is-user-added=true]{cursor:grab}body[data-demo-mode=plan] #drawing.is-dragging .point[data-is-user-added=true]{cursor:grabbing}
.tree-room-outline{fill:rgba(228,234,217,.27);stroke:#acbf9f;stroke-width:2;stroke-dasharray:10 6;pointer-events:none}.tree-room-heading{font:800 21px "Segoe UI",Arial,sans-serif;fill:#315f45;pointer-events:none}
.form-backdrop{pointer-events:auto}
.cable-form:not([hidden]){width:min(500px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:16px 20px;border-radius:13px}
.cable-form h3{font-size:20px;margin:0 36px 3px 0}.form-connection{font-size:13px;line-height:1.35;margin-bottom:5px}.cable-form fieldset legend{font-size:12px;margin-bottom:0}.field{gap:3px;margin-top:8px;font-size:14px}.field select,.field input{min-height:39px;padding:6px 10px;font-size:15px}.field-help{font-size:11px;line-height:1.3;margin-top:3px}.form-actions{margin-top:10px}.form-actions .button{min-height:42px;padding:7px 12px;font-size:15px}.form-error{font-size:13px;line-height:1.35;padding:8px;margin-top:8px}
.form-close{position:absolute;top:8px;right:10px;width:34px;height:34px;border:1px solid #9baa8e;border-radius:7px;background:#fff;font-size:24px;line-height:1;display:grid;place-items:center}
@media(max-width:650px){.cable-form:not([hidden]){top:auto;bottom:0;transform:translateX(-50%);width:100vw;max-height:calc(100dvh - 10px);border-radius:13px 13px 0 0;padding:14px 17px 18px}}

/* Approved schematic: compact lamp tile and cable text inside the broken line. */
body[data-demo-mode=tree] .point[data-point-type=lamp] .point-badge{fill:#fff2be;stroke:#b29124;stroke-width:1.5}
body[data-demo-mode=tree] .point[data-point-type=lamp] .point-halo{fill:#fffdf6;stroke:#b29124;stroke-width:1.3}
body[data-demo-mode=tree] .point[data-point-type=lamp] .point-icon{stroke:#b29124;stroke-width:2.2}
body[data-demo-mode=tree] .point[data-point-type=lamp] .point-label{font:700 13px "Segoe UI",Arial,sans-serif;stroke-width:2}
body[data-demo-mode=tree] .cable-caption-bg{fill:#fff8dc;stroke:#d8c994;stroke-width:.8}
body[data-demo-mode=tree] .cable-caption{font:700 12px "Segoe UI",Arial,sans-serif;fill:#10221b;stroke:none;dominant-baseline:auto}
body[data-demo-mode=tree] .connection-group.is-selected .cable-caption-bg{fill:#f1dda1;stroke:#8f7932;stroke-width:1.5}

/* Approved plan symbols; the interaction halo remains larger than the artwork. */
body[data-demo-mode=plan] .point{color:#d7ad16}
body[data-demo-mode=plan] .point[data-circuit-family=socket]{color:#198a56}
body[data-demo-mode=plan] .point .point-halo{fill:transparent;stroke:none}
body[data-demo-mode=plan] .point.is-selected .point-halo{fill:rgba(234,208,107,.22);stroke:#a48a2c;stroke-width:1.5}
body[data-demo-mode=plan] .point[data-circuit-family=socket].is-selected .point-halo{fill:rgba(38,155,98,.16);stroke:#198a56}
body[data-demo-mode=plan] .point:focus-visible .point-halo{stroke:#5574d4;stroke-width:2.5}
body[data-demo-mode=plan] .point-label{font:700 13px "Segoe UI",Arial,sans-serif;fill:#10221b;stroke:#f7f8f2;stroke-width:2.5}
body[data-demo-mode=plan] .point[data-circuit-family=socket] .point-label{fill:#147b4a}
.plan-lamp-symbol{fill:#fffdf6;stroke:currentColor;stroke-width:2.5;pointer-events:none}
.plan-lamp-cross{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;pointer-events:none}
.plan-socket-symbol{fill:none;stroke:currentColor;stroke-width:2.3;stroke-linejoin:round;pointer-events:none}
.plan-device-box{fill:#fff2be;stroke:currentColor;stroke-width:2.4;pointer-events:none}
body[data-demo-mode=plan] .point[data-circuit-family=socket] .plan-device-box{fill:#e6f3e8}
.plan-device-circuit{font:800 10px "Segoe UI",Arial,sans-serif;fill:#10221b;pointer-events:none}
.plan-device-name{font:700 12px "Segoe UI",Arial,sans-serif;fill:#10221b;stroke:#f7f8f2;stroke-width:2;paint-order:stroke;pointer-events:none}
.plan-board-bolt{fill:#10221b;stroke:none;pointer-events:none}
.plan-sensor-center,.plan-switch-contact{fill:#fffdf6;stroke:currentColor;stroke-width:2.2;pointer-events:none}
.plan-sensor-wave,.plan-switch-arm{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}

/* Approved PDF: compact circuit cards and metre labels inside each cable line. */
body[data-demo-mode=tree] .point:not([data-point-type=board]) .point-badge{fill:#fff2be;stroke:#b29124;stroke-width:1.5}
body[data-demo-mode=tree] .point:not([data-point-type=board]) .point-halo{fill:#fffdf6;stroke:#b29124;stroke-width:1.3}
body[data-demo-mode=tree] .point:not([data-point-type=board]) .point-icon{stroke:#b29124;stroke-width:2.2}
body[data-demo-mode=tree] .point:not([data-point-type=board]) .point-label{font:700 13px "Segoe UI",Arial,sans-serif;fill:#10221b;stroke:none}
body[data-demo-mode=tree] .point[data-point-type=sensor] .point-label{font-size:10px}
body[data-demo-mode=tree] .point[data-circuit-family=socket] .point-badge{fill:#eaf6ee;stroke:#269b62;stroke-width:1.2}
body[data-demo-mode=tree] .point[data-circuit-family=socket] .point-halo{fill:#eaf6ee;stroke:#147b4a;stroke-width:1.3}
body[data-demo-mode=tree] .point[data-circuit-family=socket] .point-icon{stroke:#147b4a;stroke-width:2.2}
body[data-demo-mode=tree] .point.is-selected .point-badge{stroke-width:2.2}
body[data-demo-mode=tree] .point[data-circuit-family=socket].is-selected .point-badge{fill:#dcefe3;stroke:#147b4a}
body[data-demo-mode=plan] .connection-group[data-circuit-family=light] .connection{stroke:#c7372d}
body[data-demo-mode=plan] .connection-group[data-circuit-family=socket] .connection{stroke:#147b4a}
body[data-demo-mode=tree] .connection-group[data-circuit-family=socket] .connection{stroke:#147b4a}
.connection-group .cable-caption-bg{fill:#fff5dd;stroke:#b29124;stroke-width:1.1}
.connection-group[data-circuit-family=light] .cable-caption-bg{stroke:#c7372d}
.connection-group[data-circuit-family=socket] .cable-caption-bg{fill:#eaf6ee;stroke:#147b4a}
.connection-group .cable-caption{fill:#10221b;stroke:none;font:700 12px "Segoe UI",Arial,sans-serif}
.connection-group.is-selected .cable-caption-bg{stroke-width:2;fill:#fff0bd}
.connection-group[data-circuit-family=socket].is-selected .cable-caption-bg{fill:#dcefe3}
