.pm-plate{--pm-ink:var(--m-ink,var(--ink,#0d1a2e));--pm-ink-70:color-mix(in srgb, var(--pm-ink) 72%, transparent);--pm-ink-55:color-mix(in srgb, var(--pm-ink) 58%, transparent);--pm-ink-35:color-mix(in srgb, var(--pm-ink) 40%, transparent);--pm-ink-18:color-mix(in srgb, var(--pm-ink) 22%, transparent);--pm-ink-08:color-mix(in srgb, var(--pm-ink) 10%, transparent);--pm-moss:#6aa06f;--pm-moss-soft:color-mix(in srgb, var(--pm-moss) 22%, transparent);--pm-ochre:#c99a3a;--pm-ochre-soft:color-mix(in srgb, var(--pm-ochre) 22%, transparent);--pm-oxblood:#c4677a;--pm-oxblood-soft:color-mix(in srgb, var(--pm-oxblood) 22%, transparent);--pm-font-display:var(--font-plate-display), "EB Garamond", "Iowan Old Style", "Apple Garamond", Georgia, serif;--pm-font-body:var(--font-plate-body), "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--pm-font-mono:var(--font-jetbrains-mono), ui-monospace, "SF Mono", "Menlo", monospace;--pm-radius:2px;--pm-pad:clamp(14px, 2vw, 24px);color:var(--pm-ink);font-family:var(--pm-font-body);background:0 0;margin:0;padding:0;font-size:13px;line-height:1.35;display:block;position:relative}.pm-chrome{padding:calc(var(--pm-pad) * .8) var(--pm-pad);border-bottom:1px solid var(--pm-ink-18);background:0 0;justify-content:space-between;align-items:flex-end;gap:16px;display:flex;position:relative}.pm-chrome-left{align-items:baseline;gap:10px;min-width:0;display:flex}.pm-plate-no{font-family:var(--pm-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--pm-ink-70);font-size:10.5px}.pm-plate-sep{background:var(--pm-ink-35);width:18px;height:1px;display:inline-block;position:relative;top:-3px}.pm-plate-kicker{font-family:var(--pm-font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--pm-ink-55);font-size:10.5px}.pm-chrome-right{flex-direction:column;align-items:flex-end;gap:2px;min-width:0;display:flex}.pm-product-name{font-family:var(--pm-font-display);letter-spacing:-.005em;color:var(--pm-ink);border-bottom:1px solid var(--pm-ink-35);text-overflow:ellipsis;white-space:nowrap;max-width:42ch;padding-bottom:2px;font-size:clamp(18px,1.6vw,24px);font-weight:500;line-height:1.1;overflow:hidden}.pm-product-meta{font-family:var(--pm-font-mono);color:var(--pm-ink-55);letter-spacing:.05em;font-size:10.5px}.pm-dot{opacity:.6;margin:0 6px}.pm-crop{width:10px;height:10px;stroke:var(--pm-ink);stroke-width:.75px;fill:none;opacity:.45;position:absolute}.pm-crop-tl{top:6px;left:6px}.pm-crop-tr{top:6px;right:6px}.pm-crop-bl{bottom:6px;left:6px}.pm-crop-br{bottom:6px;right:6px}.pm-canvas{padding:var(--pm-pad);position:relative}.pm-grid{pointer-events:none;opacity:.55;width:100%;height:100%;position:absolute;inset:0}.pm-grid-line{fill:none;stroke:var(--pm-ink-08);stroke-width:.5px}.pm-edges{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pm-edge-line{fill:none;stroke:var(--pm-ink-35);stroke-width:.75px;transition:stroke .2s,stroke-width .2s,opacity .2s}.pm-edge-tick{fill:var(--pm-ink-35);transition:fill .2s,opacity .2s}.pm-plate[data-highlighting=true] .pm-edge{opacity:.18}.pm-plate[data-highlighting=true] .pm-edge[data-active=true]{opacity:1}.pm-plate[data-highlighting=true] .pm-edge[data-active=true] .pm-edge-line{stroke:var(--pm-ink);stroke-width:1.2px}.pm-plate[data-highlighting=true] .pm-edge[data-active=true] .pm-edge-tick{fill:var(--pm-ink)}.pm-layers{z-index:1;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:clamp(18px,2.4vw,44px);display:grid;position:relative}.pm-layer{flex-direction:column;min-width:0;display:flex}.pm-layer-head{border-bottom:1px solid var(--pm-ink-18);align-items:center;gap:6px;margin-bottom:10px;padding:0 0 10px;display:flex}.pm-layer-short{font-family:var(--pm-font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--pm-ink-70);font-size:10px}.pm-layer-rule{background:var(--pm-ink-08);flex:1;height:1px}.pm-layer-count{font-family:var(--pm-font-display);color:var(--pm-ink);font-size:15px;font-weight:600}.pm-layer-body{flex-direction:column;gap:8px;display:flex}.pm-empty{font-family:var(--pm-font-mono);color:var(--pm-ink-55);letter-spacing:.06em;padding:10px 0;font-size:11px}.pm-node{border:1px solid var(--pm-ink-18);border-radius:var(--pm-radius);min-height:56px;color:inherit;isolation:isolate;background:0 0;gap:10px;padding:8px 10px 8px 12px;text-decoration:none;transition:border-color .18s,background .18s,transform .18s,opacity .18s,box-shadow .18s;display:flex;position:relative}.pm-node-rail{background:var(--pm-ink-35);border-radius:1px;flex:none;width:3px}.pm-node-rail[data-status=approved]{background:var(--pm-moss)}.pm-node-rail[data-status=in_review]{background:var(--pm-ochre)}.pm-node-rail[data-status=outdated]{background:var(--pm-oxblood)}.pm-node-rail[data-status=draft],.pm-node-rail[data-status=neutral]{background:var(--pm-ink-35)}.pm-node-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pm-node-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.pm-node-id{font-family:var(--pm-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--pm-ink-70);font-size:10.5px}.pm-node-status-dot{border-radius:50%;flex:none;width:6px;height:6px}.pm-status-approved{background:var(--pm-moss)}.pm-status-in_review{background:var(--pm-ochre)}.pm-status-draft{background:var(--pm-ink-35)}.pm-status-outdated{background:var(--pm-oxblood);box-shadow:0 0 0 0 var(--pm-oxblood-soft);animation:2.4s ease-in-out infinite pm-pulse}.pm-status-neutral{border:1px solid var(--pm-ink-35);background:0 0}@keyframes pm-pulse{0%,to{box-shadow:0 0 0 0 var(--pm-oxblood-soft)}50%{box-shadow:0 0 0 5px #7a1d2b00}}.pm-node-title{font-family:var(--pm-font-body);color:var(--pm-ink);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;font-weight:500;line-height:1.25;display:-webkit-box;overflow:hidden}.pm-node-sub{font-family:var(--pm-font-mono);letter-spacing:.04em;color:var(--pm-ink-55);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}a.pm-node:hover,.pm-node:hover,.pm-node.is-focused{border-color:var(--pm-ink);background:var(--pm-ink-08)}a.pm-node:focus-visible{outline:2px solid var(--pm-ink);outline-offset:2px}.pm-plate[data-highlighting=true] .pm-node{opacity:.22;transform:translateY(0)}.pm-plate[data-highlighting=true] .pm-node.is-in-chain{opacity:1;border-color:var(--pm-ink)}.pm-plate[data-highlighting=true] .pm-node.is-focused{background:var(--pm-ink-08)}.pm-node-iu,.pm-node-ifu{background-image:repeating-linear-gradient(135deg, transparent 0 6px, var(--pm-ink-08) 6px 7px)}.pm-legend{padding:10px var(--pm-pad) 12px;border-top:1px solid var(--pm-ink-18);background:0 0;justify-content:space-between;align-items:center;gap:16px;display:flex}.pm-legend-counts{flex-wrap:wrap;align-items:center;gap:0;display:flex}.pm-legend-cell{align-items:baseline;gap:6px;padding:0 10px;display:inline-flex;position:relative}.pm-legend-cell:first-child{padding-left:0}.pm-legend-k{font-family:var(--pm-font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--pm-ink-55);font-size:9.5px}.pm-legend-v{font-family:var(--pm-font-display);font-feature-settings:"tnum", "lnum";color:var(--pm-ink);font-size:15px;font-weight:600}.pm-legend-sep{background:var(--pm-ink-18);width:1px;height:14px;position:absolute;top:50%;right:0;transform:translateY(-50%)}.pm-banner{border:1px solid var(--pm-ink-18);font-family:var(--pm-font-mono);letter-spacing:.02em;color:var(--pm-ink);background:0 0;border-radius:2px;align-items:center;gap:8px;padding:5px 10px;font-size:11px;display:inline-flex}.pm-banner-dot{border-radius:50%;width:7px;height:7px}.pm-banner-approved{border-color:var(--pm-moss);color:var(--pm-moss);background:var(--pm-moss-soft)}.pm-banner-approved .pm-banner-dot{background:var(--pm-moss)}.pm-banner-in_review{border-color:var(--pm-ochre);color:var(--pm-ochre);background:var(--pm-ochre-soft)}.pm-banner-in_review .pm-banner-dot{background:var(--pm-ochre)}.pm-banner-outdated{border-color:var(--pm-oxblood);color:var(--pm-oxblood);background:var(--pm-oxblood-soft)}.pm-banner-outdated .pm-banner-dot{background:var(--pm-oxblood);animation:2.4s ease-in-out infinite pm-pulse}.pm-banner-draft{border-color:var(--pm-ink-35);color:var(--pm-ink-70)}.pm-banner-draft .pm-banner-dot{background:var(--pm-ink-55)}.pm-plate .pm-layer{animation:.56s cubic-bezier(.2,.7,.1,1) both pm-reveal}.pm-plate .pm-layer[data-layer=groups]{animation-delay:80ms}.pm-plate .pm-layer[data-layer=needs]{animation-delay:.16s}.pm-plate .pm-layer[data-layer=urs]{animation-delay:.24s}.pm-plate .pm-layer[data-layer=prs]{animation-delay:.32s}.pm-plate .pm-layer[data-layer=outputs]{animation-delay:.4s}.pm-plate .pm-edges{animation:.6s cubic-bezier(.2,.7,.1,1) .44s both pm-fade}.pm-plate .pm-legend{animation:.52s cubic-bezier(.2,.7,.1,1) .5s both pm-fade}@keyframes pm-reveal{0%{opacity:0;filter:blur(.3px);transform:translateY(4px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes pm-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.pm-plate .pm-layer,.pm-plate .pm-edges,.pm-plate .pm-legend,.pm-status-outdated,.pm-banner-outdated .pm-banner-dot{animation:none}}@media (min-width:641px) and (max-width:1024px){.pm-layers{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px clamp(16px,2.4vw,28px)}.pm-layer[data-layer=groups]{grid-area:1/1}.pm-layer[data-layer=needs]{grid-area:1/2}.pm-layer[data-layer=urs]{grid-area:1/3}.pm-layer[data-layer=prs]{grid-area:2/1/auto/span 2}.pm-layer[data-layer=outputs]{grid-area:2/3}.pm-edges{display:none}.pm-plate[data-highlighting=true] .pm-node{opacity:1}}@media (max-width:640px){.pm-plate{--pm-pad:16px}.pm-chrome{padding-inline:max(var(--pm-pad), env(safe-area-inset-left));flex-direction:column;align-items:flex-start;gap:6px}.pm-chrome-right{align-items:flex-start}.pm-product-name{white-space:normal;max-width:100%}.pm-layers{padding-inline:max(var(--pm-pad), env(safe-area-inset-left));flex-direction:column;grid-template-columns:none;gap:0;display:flex}.pm-layer{padding-bottom:20px}.pm-layer+.pm-layer{padding-top:20px;position:relative}.pm-layer+.pm-layer:before{content:"";background:var(--pm-ink-35);width:1px;height:14px;position:absolute;top:0;left:50%;transform:translate(-.5px)}.pm-layer+.pm-layer:after{content:"";border-right:1px solid var(--pm-ink-35);border-bottom:1px solid var(--pm-ink-35);width:6px;height:6px;position:absolute;top:10px;left:50%;transform:translate(-50%)rotate(45deg)}.pm-layer-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pm-layer-head{margin-bottom:10px;padding-bottom:8px}.pm-node{min-height:64px;padding:8px 10px}.pm-node-title{-webkit-line-clamp:2;font-size:12.5px}.pm-node-sub{font-size:10px}.pm-edges{display:none}.pm-legend{padding-inline:max(var(--pm-pad), env(safe-area-inset-left));flex-direction:column;align-items:stretch;gap:10px}.pm-legend-counts{gap:6px 4px}.pm-banner{align-self:flex-start}}@media (max-width:380px){.pm-layer-body{grid-template-columns:1fr}}.pm-mode-demo{--pm-pad:clamp(16px, 2.2vw, 28px)}.pm-mode-demo .pm-product-name{font-size:clamp(20px,1.8vw,28px)}.pm-sheet{color:var(--m-ink,var(--ink,#0d1a2e));background:0 0;border:0;border-radius:12px 12px 0 0;width:100%;max-width:100%;max-height:88dvh;margin:0;padding:0;position:fixed;inset:auto 0 0;overflow:hidden}.pm-sheet:not([open]){display:none}.pm-sheet::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000006b}.pm-sheet-inner{background:var(--m-bg-elev,var(--bg-elev,#fff));color:var(--m-ink,var(--ink,#0d1a2e));padding:8px 20px max(20px, env(safe-area-inset-bottom)) 20px;border-top:1px solid var(--pm-ink-18,#0d1a2e2e);font-family:var(--font-plate-body,ui-sans-serif, system-ui, sans-serif);flex-direction:column;gap:14px;min-height:180px;display:flex}.pm-sheet-handle{background:var(--pm-ink-35,#0d1a2e59);cursor:grab;touch-action:none;border-radius:999px;align-self:center;width:44px;height:5px;margin:6px 0 4px}.pm-sheet-handle:active{cursor:grabbing}.pm-sheet-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.pm-sheet-id{font-family:var(--font-jetbrains-mono,ui-monospace, monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--pm-ink-70,#0d1a2eb3);font-size:11px}.pm-sheet-kind{font-family:var(--font-jetbrains-mono,ui-monospace, monospace);letter-spacing:.18em;text-transform:uppercase;color:var(--pm-ink-55,#0d1a2e8c);font-size:10px}.pm-sheet-title{font-family:var(--font-plate-display,"EB Garamond", Georgia, serif);margin:0;font-size:22px;font-weight:500;line-height:1.2}.pm-sheet-sub{font-family:var(--font-jetbrains-mono,ui-monospace, monospace);letter-spacing:.04em;color:var(--pm-ink-70,#0d1a2eb3);font-size:11px}.pm-sheet-status{border:1px solid var(--pm-ink-18,#0d1a2e2e);font-family:var(--font-jetbrains-mono,ui-monospace, monospace);letter-spacing:.04em;border-radius:2px;align-self:flex-start;align-items:center;gap:6px;padding:5px 10px;font-size:11px;display:inline-flex}.pm-sheet-status-dot{border-radius:50%;width:8px;height:8px}.pm-sheet-actions{border-top:1px solid var(--pm-ink-08,#0d1a2e14);gap:10px;padding-top:4px;display:flex}.pm-sheet-action{border:1px solid var(--pm-ink-18,#0d1a2e2e);min-height:44px;color:inherit;font-family:var(--font-plate-body,ui-sans-serif, system-ui, sans-serif);cursor:pointer;background:0 0;border-radius:2px;flex:1;justify-content:center;align-items:center;padding:0 14px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.pm-sheet-action--primary{background:var(--m-ink,var(--ink,#0d1a2e));color:var(--m-bg-elev,var(--bg-elev,#fff));border-color:#0000}.pm-sheet-action:focus-visible{outline:2px solid var(--m-ink,var(--ink,#0d1a2e));outline-offset:2px}@media (prefers-reduced-motion:no-preference){.pm-sheet[open] .pm-sheet-inner{animation:.22s cubic-bezier(.2,.7,.1,1) pm-sheet-in}.pm-sheet[open]::backdrop{animation:.22s cubic-bezier(.2,.7,.1,1) pm-sheet-fade}@keyframes pm-sheet-in{0%{opacity:.8;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pm-sheet-fade{0%{opacity:0}to{opacity:1}}}.pm-sheet[data-dragging=true] .pm-sheet-inner{transform:translateY(var(--pm-sheet-drag,0px));transition:none}
