body{background:#f5f5f5;font-family:sans-serif;position:relative;margin:0;padding:0}button{cursor:pointer;touch-action:none;padding:1px 6px;text-align:center}button[disabled]{cursor:default}.draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.draggable.dragging{cursor:grabbing}.outliner{background:#fff;border:1px solid black;position:absolute;top:0;left:0;border-radius:4px;overflow:hidden;transition-property:transform,box-shadow;transition-duration:.15s;max-width:800px;padding:1em}.outliner.moving{box-shadow:2px 2px 15px #00000080}.outliner.hovered{box-shadow:0 0 10px coral;transition-duration:.1s}.outliner>[role=heading]{min-height:1em;margin:-1em -1em 0;padding:.5em;font-weight:700;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:1px}.outliner>[role=heading] span:first-child{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.outliner>[role=heading] button{margin-left:calc(.5em - 1px);border:0;border-radius:2px;opacity:.5;transition-property:opacity;transition-duration:.1s}.outliner>[role=heading] button:hover{opacity:.8}.outliner[data-type=object]>[role=heading]{background:gray}.outliner[data-type=error]>[role=heading]{background:red}.outliner[data-type=function]>[role=heading]{background:#00f}.outliner[data-type=revoked-proxy]>[role=heading]{--color1: grey;--color2: #ff6000;background:repeating-linear-gradient(45deg,var(--color1),var(--color1) 10px,var(--color2) 10px,var(--color2) 20px)}.outliner[data-type=primitive]>[role=heading]{background:#009688}.outliner[data-type=primitive] .stereotype{font-family:sans-serif;text-align:center;font-style:italic;margin-top:.5em;color:#2d2d2d}.outliner table{border-collapse:collapse;font-family:monospace;margin:.5em auto;width:100%}.outliner table tr:not(:first-child){border-top:1px solid lightgray}.outliner table td{padding:.3em .5em}.outliner table td:first-child{border-right:1px dashed darkgray;text-align:right}.outliner table td:nth-child(2){max-width:15em;overflow:hidden;text-overflow:ellipsis}.outliner table td:nth-child(3){text-align:right;display:flex;gap:1px;justify-content:end;align-items:center}.outliner table td:nth-child(3) button{margin-left:calc(.5em - 1px)}.outliner table td:only-child{text-align:right;border-right:none}.outliner pre{text-align:left}.outliner pre:not([role=textbox]){overflow:auto;line-height:1.5em;max-height:7.5em;border:1px dotted darkgray;padding:1em}.outliner pre[role=textbox]{margin:.5em 0;border:1px none gray;border-bottom-style:dashed;padding-right:.5em;padding-left:1em;font-family:monospace;outline:none}.outliner pre[role=textbox]:before{content:">";padding-right:.3em;margin-left:-1em;color:gray;font-weight:700}@keyframes traces{0%{stroke-dashoffset:15}to{stroke-dashoffset:0}}.association .arrow-end-area{background:transparent;width:25px;height:25px;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.association:has(.arrow-end-area.dragging) path{stroke-dasharray:10 5;stroke-linecap:butt;animation:traces 1s infinite linear}svg{--arrow-color: coral;pointer-events:none}svg .arrow{stroke:var(--arrow-color);fill:transparent;stroke-linecap:round;stroke-width:4px;marker-start:url(#arrow-start);marker-end:url(#arrow-end);transition:stroke .5s ease-out}svg.arrow-hidden .arrow{stroke:transparent;transition:stroke 0s}svg.arrow-faded .arrow{stroke:color-mix(in srgb,var(--arrow-color) 20%,transparent);transition:stroke .2s}svg #arrow-start{fill:var(--arrow-color);stroke:transparent}svg #arrow-end{stroke:context-stroke;fill:transparent;stroke-linecap:round;stroke-linejoin:round}.shaking{transform-origin:center;animation-composition:accumulate;animation:shake .2s;animation-iteration-count:2}@keyframes shake{0%{transform:rotate(0);box-shadow:0 0 5px #ff980070}25%{transform:rotate(-1deg);box-shadow:0 0 15px #ff980070}50%{transform:rotate(1deg);box-shadow:0 0 15px #ff980070}75%{transform:rotate(0);box-shadow:0 0 5px #ff980070}to{transform:rotate(1deg)}}svg.attribute-icon{pointer-events:all;cursor:default;-webkit-user-select:none;user-select:none;display:inline-block;overflow:visible;width:1em;height:1em;padding:0 .5em;opacity:.8}svg.attribute-icon text{font-size:1.3em;text-anchor:middle;dominant-baseline:central}svg.attribute-icon line{stroke-width:3px;stroke:red;opacity:.8}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}
