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

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

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

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

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

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

@media (max-width:860px){
  .pdm-main{flex-direction:column}
  .pdm-side{flex:none;max-width:none;max-height:none;border-right:0;border-top:1px solid var(--pdm-line);order:2}
  .pdm-stage{order:1}
  .pdm-scroll{max-height:none;padding:6px}
  .pdm-tabtools{margin-left:0}
  .pdm-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.
   ================================================================== */
.pdm-root button,.pdm-root input,.pdm-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%;
}
.pdm-root .pdm-btn{color:#fff!important;font-size:12px!important;padding:6px 10px!important;border-radius:4px!important;font-weight:500!important;width:auto!important}
.pdm-root .pdm-btn.pdm-ghost,.pdm-root .pdm-btn.pdm-tool{color:var(--pdm-ink)!important;background:transparent!important;border:1px solid var(--pdm-line)!important}
.pdm-root .pdm-btn.pdm-ghost:hover,.pdm-root .pdm-btn.pdm-tool:hover{background:var(--pdm-line)!important}
.pdm-root .pdm-btn.pdm-tool[aria-pressed="true"]{color:#fff!important;background:var(--pdm-blue)!important;border-color:var(--pdm-blue)!important}
.pdm-root .pdm-btn:not(.pdm-ghost):not(.pdm-tool):not(.pdm-add):not(.pdm-danger){background:var(--pdm-blue)!important}
.pdm-root .pdm-btn.pdm-add{background:var(--pdm-green)!important}
.pdm-root .pdm-btn.pdm-danger{background:var(--pdm-red)!important}
.pdm-root .pdm-tab{color:var(--pdm-ink)!important;background:var(--pdm-panel)!important;border:1px solid var(--pdm-line)!important;
  padding:5px 12px!important;font-size:12px!important;border-radius:14px!important}
.pdm-root .pdm-tab[aria-selected="true"]{color:var(--pdm-panel)!important;background:var(--pdm-ink)!important;border-color:var(--pdm-ink)!important}
.pdm-root .pdm-pick{background:none!important;color:var(--pdm-ink)!important;padding:4px 6px!important;font-size:13px!important;border:0!important;width:auto!important}
.pdm-root .pdm-mini{background:none!important;color:var(--pdm-mut)!important;padding:2px 6px!important;font-size:11px!important;border:1px solid var(--pdm-line)!important;width:auto!important}
.pdm-root .pdm-mini[aria-pressed="true"]{color:var(--pdm-ink)!important;background:var(--pdm-bg)!important}
.pdm-root input[type="text"],.pdm-root select{
  padding:6px 8px!important;font-size:13px!important;border:1px solid var(--pdm-line)!important;border-radius:4px!important;
  color:var(--pdm-ink)!important;background:var(--pdm-panel)!important;width:100%!important;min-width:0!important
}
.pdm-root .pdm-head input[type="text"]{font-size:15px!important;padding:8px 10px!important;width:auto!important;background:var(--pdm-bg)!important}
.pdm-root .pdm-head input.pdm-sub{font-size:13px!important}
.pdm-root .pdm-bar select{width:auto!important;max-width:220px}
.pdm-root input.pdm-tabname{width:140px!important}
.pdm-root select{-webkit-appearance:menulist!important;-moz-appearance:menulist!important;appearance:auto!important}
.pdm-root input[type="checkbox"]{width:20px!important;height:20px!important;padding:0!important;margin:2px!important;accent-color:var(--pdm-blue)}
.pdm-root .pdm-row.pdm-chk{min-height:26px;margin-bottom:8px}
.pdm-root p.pdm-muted,.pdm-root p.pdm-kind,.pdm-root p.pdm-readout{color:var(--pdm-mut)!important;font-size:13px!important;line-height:1.4!important;margin:0 0 6px!important}
.pdm-root .pdm-props p,.pdm-root .pdm-extra p{color:var(--pdm-ink)}
.pdm-root input[type="range"]{width:100%!important;padding:0!important;border:0!important;background:none!important}
.pdm-root input[type="color"]{width:44px!important;height:28px!important;padding:2px!important;border:1px solid var(--pdm-line)!important;border-radius:4px!important;background:var(--pdm-panel)!important}
.pdm-root label{margin:0!important;font-weight:400!important;display:inline!important}
.pdm-root ul.pdm-list{padding:4px!important;margin:0!important;list-style:none!important}
.pdm-root li.pdm-li,.pdm-root li.pdm-empty{margin:0!important;border:0!important;list-style:none!important}
.pdm-root li.pdm-li::before,.pdm-root li.pdm-li::marker,.pdm-root li.pdm-empty::before{content:none!important;display:none!important}
.pdm-root .pdm-sec{font-family:inherit!important;line-height:1.3!important}
.pdm-root p{margin-top:0;text-align:left!important;hyphens:manual}
.pdm-root svg text{font-family:Helvetica,Arial,sans-serif}
.pdm-root table{margin:0!important;border-collapse:collapse!important}
.pdm-root td,.pdm-root th{border:0!important;border-bottom:1px solid var(--pdm-line)!important;padding:4px 6px!important;font-size:12px!important;background:none!important;color:var(--pdm-ink)!important}
/* phones: typing in a field under 16 px makes iOS zoom the page */
@media (max-width:860px){
  .pdm-root input[type="text"],.pdm-root select,
  .pdm-root .pdm-head input[type="text"],.pdm-root .pdm-head input.pdm-sub,
  .pdm-root .pdm-bar select,.pdm-root .pdm-row input[type="text"]{font-size:16px!important}
}

/* Parti Diagram Maker extras */
.pdm-next{margin-left:auto;white-space:normal}
.pdm-next a{color:var(--pdm-blue)!important;text-decoration:underline}
.pdm-dark .pdm-next a{color:#7cc4ff!important}
