/* site-analysis-diagram-maker 1.0.0 */
/* illustrarch diagram kit styles. sdm is replaced with the plugin prefix at build time.
   Same visual language as the bubble, zoning and adjacency tools. */
.sdm-root{
  --sdm-ink:#1f2933; --sdm-mut:#5f6b7a; --sdm-line:#dcdfe3; --sdm-bg:#f6f7f9;
  --sdm-panel:#fff; --sdm-blue:#0073aa; --sdm-blue-d:#005a87; --sdm-green:#007f1e; --sdm-red:#c0392b;
  --sdm-h:620px;
  max-width:100%; margin:20px 0; border:1px solid var(--sdm-line); border-radius:8px; overflow:hidden;
  background:var(--sdm-bg); color:var(--sdm-ink); font-size:14px; line-height:1.4;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.sdm-root *,.sdm-root *::before,.sdm-root *::after{box-sizing:border-box}
.sdm-root.sdm-dark{--sdm-ink:#e6eaf0;--sdm-mut:#9aa6b5;--sdm-line:#39424e;--sdm-bg:#1b2128;--sdm-panel:#232a33}

.sdm-head{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;background:var(--sdm-panel);border-bottom:1px solid var(--sdm-line)}
.sdm-head input{flex:1 1 220px;min-width:0}
.sdm-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 12px;background:var(--sdm-panel);border-bottom:1px solid var(--sdm-line)}
.sdm-grp{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding-right:8px;border-right:1px solid var(--sdm-line);min-width:0;max-width:100%}
.sdm-grp:last-child{border-right:0;padding-right:0}
.sdm-lab,.sdm-lab2{font-size:12px;color:var(--sdm-mut);white-space:nowrap;margin-right:2px}
.sdm-zl{font-size:12px;color:var(--sdm-mut);min-width:40px;text-align:center}

.sdm-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 10px;background:var(--sdm-blue);color:#fff;
  border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:12px;line-height:1.2;white-space:nowrap}
.sdm-btn:hover{background:var(--sdm-blue-d)}
.sdm-btn:focus-visible,.sdm-root input:focus-visible,.sdm-root select:focus-visible{outline:3px solid #ffb900;outline-offset:1px}
.sdm-scroll:focus-visible{outline:2px solid #ffb900;outline-offset:-2px}
.sdm-btn.sdm-ghost,.sdm-btn.sdm-tool{background:transparent;color:var(--sdm-ink);border-color:var(--sdm-line)}
.sdm-btn.sdm-ghost:hover,.sdm-btn.sdm-tool:hover{background:var(--sdm-line)}
.sdm-btn.sdm-tool[aria-pressed="true"]{background:var(--sdm-blue);color:#fff;border-color:var(--sdm-blue)}
.sdm-btn.sdm-add{background:var(--sdm-green)}
.sdm-btn.sdm-add:hover{background:#006a18}
.sdm-btn.sdm-danger{background:var(--sdm-red)}
.sdm-btn.sdm-danger:hover{background:#a5322a}
.sdm-btn[disabled]{opacity:.45;cursor:not-allowed}
.sdm-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}

.sdm-tabs{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:6px 12px;background:var(--sdm-bg);border-bottom:1px solid var(--sdm-line)}
.sdm-tablist{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.sdm-tab{padding:5px 12px;border:1px solid var(--sdm-line);border-radius:14px;background:var(--sdm-panel);color:var(--sdm-ink);cursor:pointer;font-size:12px;line-height:1.2}
.sdm-tab[aria-selected="true"]{background:var(--sdm-ink);color:var(--sdm-panel);border-color:var(--sdm-ink)}
.sdm-tabtools{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center;margin-left:auto}
.sdm-tabname{width:140px}

.sdm-main{display:flex;align-items:stretch;min-height:var(--sdm-h)}
.sdm-side{flex:0 0 290px;max-width:290px;display:flex;flex-direction:column;background:var(--sdm-panel);border-right:1px solid var(--sdm-line);
  max-height:calc(var(--sdm-h) + 140px);overflow:auto}
.sdm-sec{margin:0;padding:9px 12px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sdm-mut);
  border-bottom:1px solid var(--sdm-line);border-top:1px solid var(--sdm-line);background:var(--sdm-bg)}
.sdm-sec:first-child{border-top:0}
.sdm-side > *{flex:0 0 auto}
.sdm-list{list-style:none;margin:0;padding:4px;max-height:220px;overflow:auto}
.sdm-li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:3px;align-items:center;padding:2px;border-radius:4px}
.sdm-li.sdm-on{background:var(--sdm-bg);box-shadow:inset 0 0 0 1px var(--sdm-blue)}
.sdm-pick{display:flex;align-items:center;gap:7px;min-width:0;padding:4px 6px;background:none;border:0;color:var(--sdm-ink);cursor:pointer;text-align:left;font-size:13px}
.sdm-nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.sdm-sw{flex:0 0 12px;width:12px;height:12px;border-radius:2px;border:1px solid rgba(0,0,0,.25)}
.sdm-mini{padding:2px 6px;font-size:11px;background:none;border:1px solid var(--sdm-line);border-radius:3px;color:var(--sdm-mut);cursor:pointer}
.sdm-mini[aria-pressed="true"]{color:var(--sdm-ink);background:var(--sdm-bg)}
.sdm-empty{padding:10px;color:var(--sdm-mut);font-size:13px}
.sdm-props,.sdm-extra{padding:8px 12px}
.sdm-extra:empty{display:none}
.sdm-kind{margin:0 0 6px;font-size:12px;font-weight:700;color:var(--sdm-mut)}
.sdm-muted{margin:0;color:var(--sdm-mut);font-size:13px}
.sdm-readout{margin:6px 0 0;font-size:12px;color:var(--sdm-mut)}
.sdm-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:4px 8px;align-items:center;margin:0 0 6px}
.sdm-row label{font-size:12px;color:var(--sdm-mut);margin:0}
.sdm-row.sdm-chk{grid-template-columns:auto minmax(0,1fr)}
.sdm-row.sdm-chk input{order:-1}
.sdm-row.sdm-under{grid-template-columns:auto auto auto;justify-content:start}
.sdm-inu{display:flex;align-items:center;gap:4px;min-width:0}
.sdm-unit{font-size:11px;color:var(--sdm-mut);white-space:nowrap}
.sdm-fnote{grid-column:1 / -1;color:var(--sdm-mut);font-size:11px}

.sdm-stage{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;background:var(--sdm-bg)}
.sdm-scroll{flex:1 1 auto;overflow:auto;max-height:calc(var(--sdm-h) + 140px);padding:10px;min-height:260px}
.sdm-svg{display:block;margin:0 auto;max-width:none;background:transparent;user-select:none;-webkit-user-select:none}
.sdm-svg.sdm-drawmode{cursor:crosshair;touch-action:none}
.sdm-it{cursor:move}
.sdm-it,.sdm-hd{touch-action:none}
.sdm-hd{cursor:pointer}
.sdm-hid{opacity:.25}
.sdm-locked{cursor:default}
.sdm-second{border-top:1px solid var(--sdm-line);background:var(--sdm-panel)}
.sdm-foot{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between;padding:6px 12px;min-height:34px;
  background:var(--sdm-panel);border-top:1px solid var(--sdm-line);font-size:12px;color:var(--sdm-mut)}
.sdm-note{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--sdm-ink)}
.sdm-note:empty{display:none}
.sdm-linkbox{width:min(420px,70vw)}

@media (max-width:860px){
  .sdm-main{flex-direction:column}
  .sdm-side{flex:none;max-width:none;max-height:none;border-right:0;border-top:1px solid var(--sdm-line);order:2}
  .sdm-stage{order:1}
  .sdm-scroll{max-height:none;padding:6px}
  .sdm-tabtools{margin-left:0}
  .sdm-grp{border-right:0;padding-right:0}
}

/* ==================================================================
   THEME RESET (bopea / JNews on illustrarch): the theme gives buttons a
   fixed height, flex and capitalised text, inputs 13 px padding and 15 px
   text, selects height 40 px and appearance none, labels a bottom margin,
   lists padding and markers. Measured on the zoning and adjacency tools;
   scoped to the tool root with !important so the tool keeps its sizes.
   ================================================================== */
.sdm-root button,.sdm-root input,.sdm-root select{
  text-transform:none!important;letter-spacing:normal!important;font-family:inherit!important;box-shadow:none!important;
  height:auto!important;min-height:0!important;margin:0!important;line-height:1.25!important;transition:none!important;
  max-width:100%;
}
.sdm-root .sdm-btn{color:#fff!important;font-size:12px!important;padding:6px 10px!important;border-radius:4px!important;font-weight:500!important;width:auto!important}
.sdm-root .sdm-btn.sdm-ghost,.sdm-root .sdm-btn.sdm-tool{color:var(--sdm-ink)!important;background:transparent!important;border:1px solid var(--sdm-line)!important}
.sdm-root .sdm-btn.sdm-ghost:hover,.sdm-root .sdm-btn.sdm-tool:hover{background:var(--sdm-line)!important}
.sdm-root .sdm-btn.sdm-tool[aria-pressed="true"]{color:#fff!important;background:var(--sdm-blue)!important;border-color:var(--sdm-blue)!important}
.sdm-root .sdm-btn:not(.sdm-ghost):not(.sdm-tool):not(.sdm-add):not(.sdm-danger){background:var(--sdm-blue)!important}
.sdm-root .sdm-btn.sdm-add{background:var(--sdm-green)!important}
.sdm-root .sdm-btn.sdm-danger{background:var(--sdm-red)!important}
.sdm-root .sdm-tab{color:var(--sdm-ink)!important;background:var(--sdm-panel)!important;border:1px solid var(--sdm-line)!important;
  padding:5px 12px!important;font-size:12px!important;border-radius:14px!important}
.sdm-root .sdm-tab[aria-selected="true"]{color:var(--sdm-panel)!important;background:var(--sdm-ink)!important;border-color:var(--sdm-ink)!important}
.sdm-root .sdm-pick{background:none!important;color:var(--sdm-ink)!important;padding:4px 6px!important;font-size:13px!important;border:0!important;width:auto!important}
.sdm-root .sdm-mini{background:none!important;color:var(--sdm-mut)!important;padding:2px 6px!important;font-size:11px!important;border:1px solid var(--sdm-line)!important;width:auto!important}
.sdm-root .sdm-mini[aria-pressed="true"]{color:var(--sdm-ink)!important;background:var(--sdm-bg)!important}
.sdm-root input[type="text"],.sdm-root select{
  padding:6px 8px!important;font-size:13px!important;border:1px solid var(--sdm-line)!important;border-radius:4px!important;
  color:var(--sdm-ink)!important;background:var(--sdm-panel)!important;width:100%!important;min-width:0!important
}
.sdm-root .sdm-head input[type="text"]{font-size:15px!important;padding:8px 10px!important;width:auto!important;background:var(--sdm-bg)!important}
.sdm-root .sdm-head input.sdm-sub{font-size:13px!important}
.sdm-root .sdm-bar select{width:auto!important;max-width:220px}
.sdm-root input.sdm-tabname{width:140px!important}
.sdm-root select{-webkit-appearance:menulist!important;-moz-appearance:menulist!important;appearance:auto!important}
.sdm-root input[type="checkbox"]{width:20px!important;height:20px!important;padding:0!important;margin:2px!important;accent-color:var(--sdm-blue)}
.sdm-root .sdm-row.sdm-chk{min-height:26px;margin-bottom:8px}
.sdm-root p.sdm-muted,.sdm-root p.sdm-kind,.sdm-root p.sdm-readout{color:var(--sdm-mut)!important;font-size:13px!important;line-height:1.4!important;margin:0 0 6px!important}
.sdm-root .sdm-props p,.sdm-root .sdm-extra p{color:var(--sdm-ink)}
.sdm-root input[type="range"]{width:100%!important;padding:0!important;border:0!important;background:none!important}
.sdm-root input[type="color"]{width:44px!important;height:28px!important;padding:2px!important;border:1px solid var(--sdm-line)!important;border-radius:4px!important;background:var(--sdm-panel)!important}
.sdm-root label{margin:0!important;font-weight:400!important;display:inline!important}
.sdm-root ul.sdm-list{padding:4px!important;margin:0!important;list-style:none!important}
.sdm-root li.sdm-li,.sdm-root li.sdm-empty{margin:0!important;border:0!important;list-style:none!important}
.sdm-root li.sdm-li::before,.sdm-root li.sdm-li::marker,.sdm-root li.sdm-empty::before{content:none!important;display:none!important}
.sdm-root .sdm-sec{font-family:inherit!important;line-height:1.3!important}
.sdm-root p{margin-top:0;text-align:left!important;hyphens:manual}
.sdm-root svg text{font-family:Helvetica,Arial,sans-serif}
.sdm-root table{margin:0!important;border-collapse:collapse!important}
.sdm-root td,.sdm-root th{border:0!important;border-bottom:1px solid var(--sdm-line)!important;padding:4px 6px!important;font-size:12px!important;background:none!important;color:var(--sdm-ink)!important}
/* phones: typing in a field under 16 px makes iOS zoom the page */
@media (max-width:860px){
  .sdm-root input[type="text"],.sdm-root select,
  .sdm-root .sdm-head input[type="text"],.sdm-root .sdm-head input.sdm-sub,
  .sdm-root .sdm-bar select,.sdm-root .sdm-row input[type="text"]{font-size:16px!important}
}

/* Site Analysis Diagram Maker extras */
.sdm-root table.sdm-fig{width:100%;margin:0 0 6px!important}
.sdm-root .sdm-fig th{text-align:left!important;font-weight:400!important;color:var(--sdm-mut)!important}
.sdm-root .sdm-fig td{text-align:right!important;font-variant-numeric:tabular-nums}
.sdm-figwrap{overflow-x:auto;max-width:100%}
.sdm-root p.sdm-fnote2{font-size:11px!important;color:var(--sdm-mut)!important;margin:0 0 6px!important;line-height:1.35!important}
.sdm-next{margin-left:auto;white-space:normal}
.sdm-next a{color:var(--sdm-blue)!important;text-decoration:underline}
.sdm-dark .sdm-next a{color:#7cc4ff!important}
