/* Diagram Studio: scoped enhancement; the original SVG collection stays intact. */
body.ds-ready{--ds-line:#dedbd5;--ds-muted:#716d67;--ds-paper:#fff;--ds-tint:#eeebe5;--ds-good:#246b48;--ds-bad:#b42d28;background:var(--bg)}
[data-theme=dark] body.ds-ready{--ds-line:#383630;--ds-muted:#bab4ab;--ds-paper:#23211d;--ds-tint:#302d27;--ds-good:#80d3a5;--ds-bad:#ff968c;--cap:#bbb4a9;--nodebd:#6e665c;--edge:#b9b1a6}
.ds-ready .wrap{max-width:1320px!important;padding:32px 32px 72px!important}
.ds-ready .site-shell{max-width:1320px}
.ds-ready .site-back,.ds-ready .diagram-zoom,.ds-ready .diagram-dialog{display:none}
.ds-ready h1{font-size:clamp(28px,3.3vw,44px);line-height:1.25;letter-spacing:-.045em;margin:0}
.ds-eyebrow{font-size:12px;font-weight:750;letter-spacing:.16em;color:var(--accent);margin:0 0 10px}
.ds-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}
.ds-intro .lede{max-width:620px;margin:12px 0 0;font-size:16px;line-height:1.65;color:var(--ds-muted)}
.ds-total{font-size:13px;white-space:nowrap;color:var(--ds-muted);text-align:right}.ds-total strong{display:block;font-size:36px;color:var(--ink);font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums}
.ds-featured{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px}
.ds-feature{position:relative;text-align:left;border:1px solid var(--ds-line);border-radius:16px;padding:18px 20px;background:var(--ds-paper);color:var(--ink);font:inherit;cursor:pointer;overflow:hidden;transition:border-color .18s,transform .18s}
.ds-feature:hover{border-color:var(--accent);transform:translateY(-2px)}
.ds-feature small{display:block;color:var(--ds-muted);font-size:12px}.ds-feature strong{display:block;font-size:18px;margin:2px 0 0;letter-spacing:-.02em}.ds-feature .ds-arrow{position:absolute;right:20px;top:22px;font-size:20px;color:var(--ds-muted)}
.ds-feature svg{display:block;width:100%;height:72px;margin-top:6px;overflow:visible}.ds-feature svg text{fill:var(--nodetx);font:12px sans-serif}.ds-feature svg rect{fill:var(--canvas);stroke:var(--nodebd)}
.ds-feature svg path,.ds-feature svg line{stroke:var(--edge);fill:none;stroke-width:1.6}.ds-feature svg .ds-active-line{stroke:var(--accent)}
.ds-workspace{display:grid;grid-template-columns:190px minmax(0,1fr);gap:32px;align-items:start}
.ds-sidebar{position:sticky;top:24px}.ds-sidebar-label{font-size:12px;color:var(--ds-muted);letter-spacing:.08em;margin:0 12px 12px;font-weight:700}
.ds-categories{display:flex;flex-direction:column;gap:5px}.ds-category{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:46px;padding:11px 12px;text-align:left;border:1px solid transparent;background:transparent;color:var(--ds-muted);border-radius:9px;font-weight:600;line-height:1.4;cursor:pointer;font-family:inherit;font-size:14px}
.ds-category span{font-size:12px;opacity:.8;font-variant-numeric:tabular-nums}.ds-category[aria-pressed=true]{background:var(--ink);color:var(--bg)}.ds-category:hover:not([aria-pressed=true]){background:var(--ds-tint);color:var(--ink)}
.ds-sidebar-note{border-top:1px solid var(--ds-line);padding:20px 12px;margin-top:20px;font-size:13px;line-height:1.7;color:var(--ds-muted)}
.ds-catalog{min-width:0}.ds-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--ds-line)}
.ds-toolbar h2{margin:0;font-size:20px;letter-spacing:-.025em}.ds-result-count{font-size:13px;color:var(--ds-muted);margin-left:10px;font-weight:400}
.ds-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ds-ready .ds-button,.ds-ready .ds-actions .chip,.ds-ready .ds-actions .zipb{min-height:42px;padding:9px 13px;border:1px solid var(--ds-line);border-radius:8px;background:var(--ds-paper);color:var(--ink);font-weight:600;line-height:1.4;font-family:inherit;font-size:14px;cursor:pointer}
.ds-ready .ds-actions .zipb,.ds-ready .ds-primary{background:var(--accent);border-color:var(--accent);color:#fff}.ds-button:hover{border-color:var(--accent)}
.ds-subfilters:empty{display:none}.ds-subfilters{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 10px}.ds-subfilter{min-height:38px;border:1px solid var(--ds-line);border-radius:999px;background:transparent;color:var(--ds-muted);padding:7px 12px;font:inherit;font-size:13px;cursor:pointer}.ds-subfilter[aria-pressed=true]{background:var(--ds-tint);border-color:var(--ink);color:var(--ink)}
.ds-motion-note{font-size:13px;color:var(--ds-muted);margin:16px 0 18px}
.ds-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ds-ready .ds-gallery>.card,.ds-ready .ds-gallery>.strip{padding:0;display:flex;flex-direction:column;border:1px solid var(--ds-line);border-radius:14px;box-shadow:none;background:var(--ds-paper);overflow:hidden;position:relative;min-width:0;transition:border-color .18s,box-shadow .18s}
.ds-ready .ds-gallery>[hidden]{display:none}.ds-gallery>.card:hover,.ds-gallery>.strip:hover{border-color:color-mix(in srgb,var(--accent) 65%,var(--ds-line));box-shadow:0 6px 24px #211e1a0a}
.ds-preview{position:relative;min-width:0;background:var(--canvas);border-bottom:1px solid var(--ds-line);display:flex;align-items:center;justify-content:center}
.ds-gallery .ds-preview{aspect-ratio:1.75;padding:16px;background-image:radial-gradient(var(--faint) .65px,transparent .65px);background-size:16px 16px}
.ds-ready .ds-preview svg{width:100%;height:auto;max-height:100%;display:block;border:0;border-radius:0;background:transparent}
.ds-preview-open{position:absolute;inset:0;background:transparent;border:0;cursor:pointer;color:transparent}.ds-preview-open:focus-visible{outline-offset:-5px!important}
.ds-card-head{padding:16px 17px 0}.ds-card-kicker{font-size:12px;color:var(--ds-muted);margin-bottom:7px;display:flex;justify-content:space-between;gap:8px}
.ds-ready .ds-card-head h4{font-size:16px;line-height:1.45;margin:0;font-weight:700;letter-spacing:-.025em}.ds-card-head h4 .tag,.ds-card-head h4 .badge{display:none}
.ds-ready .ds-card-head p{font-size:14px;line-height:1.6;color:var(--ds-muted);margin:8px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}
.ds-card-footer{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;gap:8px;margin-top:auto}.ds-formats{color:var(--ds-muted);font-size:12px;letter-spacing:.01em}
.ds-open{padding:7px 0 7px 10px;min-height:40px;color:var(--ink);border:0;background:transparent;font:650 13px/1.4 sans-serif;cursor:pointer;white-space:nowrap}.ds-open:hover{color:var(--accent)}
.ds-gallery .ds-detail-content{display:none}.ds-gallery .mb,.ds-gallery .idb{display:none}
.ds-ready [hidden]{display:none!important}
.ds-reference{margin-top:36px;border-top:1px solid var(--ds-line);padding-top:18px}.ds-reference>summary{font-size:14px;color:var(--ds-muted);cursor:pointer;min-height:44px}.ds-reference .grid:empty{display:none}.ds-reference .group-label{display:none}
.ds-ready .ds-dialog{width:min(1200px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--ds-line);border-radius:20px;color:var(--ink);background:var(--ds-paper);overflow:auto;overscroll-behavior:contain;word-break:keep-all;overflow-wrap:anywhere}
.ds-dialog::backdrop{background:#171512a6;backdrop-filter:blur(5px)}.ds-dialog-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--ds-line);background:var(--ds-paper)}.ds-dialog-header h2{font-size:20px;margin:0;line-height:1.4;letter-spacing:-.02em}.ds-close{flex:none;border:1px solid var(--ds-line);background:transparent;color:var(--ink);width:44px;height:44px;border-radius:50%;font-size:23px;cursor:pointer}
.ds-ready :is(.ds-dialog,.ds-playground) .ds-selected{display:grid;grid-template-columns:minmax(0,1fr) 340px;border:0;padding:0;border-radius:0;box-shadow:none;background:var(--canvas);max-width:none}
:is(.ds-dialog,.ds-playground) .ds-card-head,:is(.ds-dialog,.ds-playground) .ds-card-footer,:is(.ds-dialog,.ds-playground) .ds-preview-open{display:none}
.ds-dialog .ds-preview{padding:32px;align-self:start;min-height:440px;border:0;position:sticky;top:85px;background-image:radial-gradient(var(--faint) .7px,transparent .7px);background-size:20px 20px}
:is(.ds-dialog,.ds-playground) .ds-detail-content{padding:24px;border-left:1px solid var(--ds-line);min-width:0;background:var(--ds-paper)}.ds-detail-content h3{font-size:14px;margin:0 0 12px}.ds-settings{display:grid;gap:16px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--ds-line)}
.ds-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:var(--ds-muted)}.ds-setting input[type=color]{width:42px;height:36px;padding:3px;border:1px solid var(--ds-line);border-radius:6px;background:var(--ds-paper);cursor:pointer}.ds-setting select{font:inherit;min-height:40px;max-width:160px;background:var(--ds-paper);color:var(--ink);border:1px solid var(--ds-line);border-radius:6px;padding:5px 10px}
:is(.ds-dialog,.ds-playground) .ctrl{font-size:14px;gap:10px;margin:0}:is(.ds-dialog,.ds-playground) .ctrl input[type=range]{width:90px}:is(.ds-dialog,.ds-playground) .ctrl label{flex-wrap:wrap}
.ds-downloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.ds-downloads .dlb{min-height:44px;padding:10px;border:1px solid var(--ds-line);background:var(--ds-paper);color:var(--ink);border-radius:8px;font:650 14px/1.4 sans-serif}.ds-downloads .dlb:hover{border-color:var(--accent);color:var(--accent)}
.ds-format-note{font-size:12px!important;color:var(--ds-muted)!important;line-height:1.7!important;margin-bottom:22px!important}
.ds-prose{border-top:1px solid var(--ds-line);padding-top:14px;margin-top:16px}.ds-prose summary{font-size:14px;cursor:pointer;min-height:38px;font-weight:650}.ds-ready .ds-prose p{font-size:15px;line-height:1.85;color:var(--ds-muted);margin:12px 0}.ds-prose code{font-size:.86em;word-break:break-all}.ds-prose a{color:var(--accent)}
.ds-ready .ds-description{font-size:15px;line-height:1.75;color:var(--ds-muted);margin:0 0 18px}.ds-export-status{font-size:13px;min-height:1.5em;color:var(--accent)}
:is(.ds-dialog,.ds-playground) .bad-l{fill:var(--ds-bad)}:is(.ds-dialog,.ds-playground) .good-l{fill:var(--ds-good)}
.ds-paused svg *,.ds-paused svg{animation-play-state:paused!important}
.ds-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ds-stage{width:100%;min-width:0;max-width:860px}
.ds-views{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--ds-line);margin-bottom:22px}
.ds-view{position:relative;min-height:48px;padding:10px 0 15px;border:0;background:none;color:var(--ds-muted);font-weight:600;line-height:1.4;font-family:inherit;font-size:15px;cursor:pointer}
.ds-view[aria-pressed=true]{color:var(--ink)}.ds-view[aria-pressed=true]::after{content:"";position:absolute;height:3px;border-radius:3px;bottom:-1px;left:0;right:0;background:var(--accent)}
.ds-actions .ds-button[aria-pressed=true]{background:var(--ds-tint);border-color:var(--ds-muted)}
.ds-dialog-actions{display:flex;gap:14px;align-items:center}
.ds-swatches{display:flex;justify-content:flex-end;gap:10px;margin-top:-10px}
.ds-swatch{width:30px;height:30px;background:var(--swatch);border:4px solid var(--ds-paper);outline:1px solid var(--ds-line);border-radius:50%;cursor:pointer}
.ds-swatch:hover{outline-color:var(--ink)}
.ds-reset{border:0;background:none;color:var(--ds-muted);font:inherit;font-size:12px;text-align:left;text-decoration:underline;text-underline-offset:3px;min-height:32px;padding:0;cursor:pointer}
.ds-pg-intro{margin:26px 0 24px}.ds-pg-intro h2{font-size:24px;letter-spacing:-.035em;margin:0 0 8px}.ds-pg-intro p{font-size:14px;color:var(--ds-muted);margin:0;line-height:1.7}
.ds-picker-bar{display:flex;align-items:end;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.ds-search-label,.ds-picker-label{display:grid;gap:8px;font-size:12px;font-weight:650;color:var(--ds-muted)}
.ds-search-label{flex:0 1 250px}.ds-picker-label{flex:1 1 260px;max-width:440px;min-width:0}
.ds-picker-bar input,.ds-picker-bar select{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid var(--ds-line);border-radius:8px;background:var(--ds-paper);color:var(--ink);font:inherit;font-size:14px}
.ds-picker-bar>.ds-button{min-width:44px;font-size:18px}
.ds-picker-status{font-size:12px;color:var(--ds-muted);padding:14px 2px;margin-left:auto}
.ds-board{border:1px solid var(--ds-line);border-radius:16px;overflow:hidden;background:var(--ds-paper);--ds-zoom:1}
.ds-board-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--ds-line)}
.ds-board-tools h3{margin:0;font-size:16px;line-height:1.5;letter-spacing:-.02em}
.ds-viewport-tools{display:flex;align-items:center;gap:10px}.ds-viewport-tools .ds-button{font-size:12px;min-height:36px;padding:7px 10px}
.ds-viewport-tools [aria-pressed=true]{background:var(--ds-tint)}
.ds-zoom-label{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ds-muted)}.ds-zoom-label input{width:90px;accent-color:var(--accent)}.ds-zoom-label output{width:36px;font-variant-numeric:tabular-nums}
.ds-playground .ds-preview{min-height:540px;padding:40px;overflow:hidden;border:0;align-self:stretch;background-image:radial-gradient(var(--faint) .7px,transparent .7px);background-size:20px 20px}
.ds-playground .ds-stage{max-width:720px;transform:scale(var(--ds-zoom));transform-origin:center}
.ds-playground .ds-no-grid .ds-preview{background-image:none}
.ds-playground .ds-detail-content{max-height:660px;overflow-y:auto}
.ds-ready button:disabled{cursor:default;opacity:.5}
.ds-in-playground .ds-reference{margin-top:24px}
@media(min-width:1600px){.ds-ready .wrap{max-width:1450px!important}.ds-gallery{gap:22px}}
@media(max-width:1100px){.ds-workspace{grid-template-columns:160px minmax(0,1fr);gap:22px}.ds-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-ready :is(.ds-dialog,.ds-playground) .ds-selected{grid-template-columns:minmax(0,1fr) 310px}.ds-dialog .ds-preview{padding:22px}}
@media(max-width:760px){.ds-ready .wrap{padding:26px 18px 48px!important}.ds-intro{align-items:start}.ds-total{display:none}.ds-intro .lede{font-size:15px}.ds-featured{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px;padding-bottom:0}.ds-feature{padding:12px 10px;border-radius:10px}.ds-feature small:first-child{font-size:10px}.ds-feature small:last-child{display:none}.ds-feature svg{height:54px;margin-top:8px}.ds-feature .ds-arrow{display:none}.ds-feature strong{font-size:14px;white-space:nowrap}.ds-feature .ds-arrow{right:14px;top:18px}.ds-workspace{display:block}.ds-sidebar{position:static;margin-bottom:18px}.ds-sidebar-label,.ds-sidebar-note{display:none}.ds-categories{flex-direction:row;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.ds-category{flex:none;white-space:nowrap;gap:8px;border-color:var(--ds-line)}.ds-toolbar{gap:12px}.ds-toolbar h2{font-size:20px}.ds-actions{gap:6px}.ds-ready .ds-actions .zipb{font-size:13px}.ds-gallery{gap:12px}.ds-card-head{padding:13px 12px 0}.ds-ready .ds-card-head h4{font-size:15px}.ds-ready .ds-card-head p{font-size:13px}.ds-gallery .ds-preview{padding:10px;aspect-ratio:1.35}.ds-card-footer{padding:10px 12px;flex-wrap:wrap}.ds-formats{font-size:12px}.ds-open{padding-left:0}.ds-ready .ds-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:15px}.ds-dialog-header{padding:14px 16px}.ds-dialog-header h2{font-size:18px}.ds-ready :is(.ds-dialog,.ds-playground) .ds-selected{display:block}.ds-dialog .ds-preview{position:relative;top:auto;min-height:240px;padding:22px}:is(.ds-dialog,.ds-playground) .ds-detail-content{border-left:0;border-top:1px solid var(--ds-line);padding:20px}.ds-dialog .ds-preview svg{max-height:330px}}
@media(max-width:760px){
 .ds-intro{margin-bottom:14px}.ds-intro .lede{font-size:14px}.ds-views{margin-bottom:18px;gap:24px}.ds-view{font-size:14px}
 .ds-toolbar{padding-bottom:12px}.ds-actions{width:100%}.ds-ready .ds-actions .ds-button,.ds-ready .ds-actions .chip,.ds-ready .ds-actions .zipb{font-size:12px;padding:8px 10px;min-height:38px}
 .ds-dialog-actions{gap:8px}.ds-dialog-actions>.ds-button{font-size:12px;padding:8px;max-width:130px}.ds-close{width:38px;height:38px}
 .ds-pg-intro{margin:20px 0}.ds-pg-intro h2{font-size:20px}.ds-pg-intro p{font-size:13px}
 .ds-picker-bar{gap:8px}.ds-search-label{flex-basis:100%}.ds-picker-label{flex:1 1 160px;max-width:none}.ds-picker-status{display:none}
 .ds-board{border-radius:12px}.ds-board-tools{padding:14px;gap:12px}.ds-board-tools h3{width:100%}.ds-viewport-tools{width:100%;gap:8px;justify-content:space-between}.ds-zoom-label{gap:6px}.ds-zoom-label input{width:70px}
 .ds-playground .ds-preview{min-height:280px;padding:24px}.ds-playground .ds-detail-content{max-height:none;overflow:visible}.ds-playground .ds-preview svg{max-height:360px}
 .ds-dialog .ds-preview{min-height:260px}
}
@media(max-width:420px){.ds-gallery{grid-template-columns:1fr}.ds-gallery .ds-preview{aspect-ratio:1.8}}
@media(max-width:390px){.ds-gallery{grid-template-columns:1fr}.ds-gallery .ds-preview{aspect-ratio:1.7}.ds-ready .ds-card-head p{font-size:14px}.ds-card-footer{flex-wrap:nowrap}}
@media(prefers-reduced-motion:reduce){.ds-feature,.ds-gallery>.card{transition:none}.ds-feature:hover{transform:none}}
@media print{.ds-featured,.ds-sidebar,.ds-toolbar,.ds-subfilters,.ds-motion-note,.ds-preview-open,.ds-card-footer,.ds-dialog,.ds-views,.ds-playground{display:none!important}.ds-workspace{display:block}.ds-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-gallery>.card,.ds-gallery>.strip{break-inside:avoid;display:flex!important}.ds-ready .ds-preview svg{animation:none}.ds-reference{display:none}}

.ds-view-tools{margin-left:auto}.ds-view-tools .chip{background:transparent;border:1px solid var(--ds-line);border-radius:8px;min-height:36px;padding:7px 10px;color:var(--ink);font:inherit;font-size:12px;cursor:pointer}
.ds-in-playground .ds-intro h1{font-size:30px}.ds-in-playground .ds-intro .lede,.ds-in-playground .ds-total{display:none}
.ds-playground .ds-settings{gap:12px;padding-bottom:18px;margin-bottom:18px}.ds-playground .ds-description{font-size:14px}
@media(max-width:760px){.ds-views{gap:18px}.ds-view-tools .chip{padding:5px 7px;font-size:11px}.ds-in-playground .ds-intro h1{font-size:25px}.ds-playground .ds-detail-content{max-height:none}.ds-pg-intro{margin:16px 0}.ds-feature small:first-child{font-size:0}.ds-feature small:first-child::first-letter{font-size:11px}.ds-feature svg{height:44px}}

@media(max-width:760px){.ds-feature small:first-child,.ds-feature svg{display:none}.ds-feature::before{content:attr(data-index);display:block;color:var(--ds-muted);font-size:10px;margin-bottom:6px}.ds-feature{padding:12px 10px}.ds-featured{margin-bottom:20px}}

/* Keep the working canvas in view; the page title already provides context. */
.ds-in-playground .wrap{padding-top:24px!important}.ds-in-playground .ds-eyebrow{display:none}.ds-in-playground .ds-intro{margin-bottom:10px}.ds-in-playground .ds-views{margin-bottom:16px}.ds-pg-intro h2{display:none}.ds-pg-intro{margin:14px 0 18px}
.ds-playground .ds-detail-content{max-height:600px;padding:20px}.ds-playground .ds-preview{min-height:480px;background-image:radial-gradient(var(--faint) 1px,transparent 1px)}
@media(max-width:760px){.ds-in-playground .wrap{padding-top:20px!important}.ds-playground .ds-preview{min-height:260px}.ds-playground .ds-detail-content{max-height:none}.ds-pg-intro p{font-size:12px}}
