:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media(prefers-color-scheme:dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100dvh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{margin:0 auto;padding:0rem;font-weight:400;height:100dvh}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}.navigation-bar[data-v-5ea7b12e]{background-color:#2c3e50;padding:1rem 0;box-shadow:0 2px 4px #0000001a}.nav-container[data-v-5ea7b12e]{margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;height:40px}.nav-brand h1[data-v-5ea7b12e]{color:#fff;font-size:1.5rem;margin:0;font-weight:600}.nav-links[data-v-5ea7b12e]{display:flex;gap:2rem}.nav-link[data-v-5ea7b12e]{color:#ecf0f1;text-decoration:none;font-size:1rem;font-weight:500;transition:color .3s ease}.nav-link[data-v-5ea7b12e]:hover{color:#3498db}.color-selector-wrapper[data-v-7341fcd9]{position:relative;display:flex;align-items:center}.color-circle[data-v-7341fcd9]{width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 6px #0000004d,inset 0 1px 2px #0003;cursor:pointer;transition:all .2s ease}.color-circle[data-v-7341fcd9]:hover{transform:scale(1.15);border-color:#fff9;box-shadow:0 3px 10px #0006,inset 0 1px 2px #0003}.color-circle[data-v-7341fcd9]:active{transform:scale(.95)}.color-selector[data-v-7341fcd9]{position:absolute;bottom:60px;left:50%;transform:translate(-50%);background-color:#232323fa;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;width:280px;box-shadow:0 8px 32px #0009,0 100 0 1px #ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media(max-width:768px){.color-selector[data-v-7341fcd9]{transform:translate(-25%)}}.color-header[data-v-7341fcd9]{display:flex;gap:10px;align-items:stretch;margin-bottom:15px}.color-display[data-v-7341fcd9]{flex:1;height:60px;border-radius:4px;border:2px solid #444;display:flex;align-items:flex-end;justify-content:center;padding-bottom:5px}.close-button[data-v-7341fcd9]{width:30px;background-color:#333;color:#fff;border:1px solid #555;border-radius:4px;cursor:pointer;font-size:24px;line-height:1;transition:background-color .2s;padding:0}.close-button[data-v-7341fcd9]:hover{background-color:#444}.close-button[data-v-7341fcd9]:active{background-color:#222}.color-hex[data-v-7341fcd9]{background-color:#00000080;color:#fff;padding:4px 8px;border-radius:3px;font-family:monospace;font-size:14px;font-weight:700}.slider-group[data-v-7341fcd9]{margin-bottom:12px}.slider-group label[data-v-7341fcd9]{display:block;color:#ccc;font-size:12px;margin-bottom:5px;font-weight:500}.slider[data-v-7341fcd9]{width:100%;height:20px;border-radius:10px;outline:none;-webkit-appearance:none;appearance:none;cursor:pointer;border:1px solid #555}.slider[data-v-7341fcd9]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #333;cursor:pointer;box-shadow:0 2px 4px #0000004d}.slider[data-v-7341fcd9]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #333;cursor:pointer;box-shadow:0 2px 4px #0000004d}.preset-colors[data-v-7341fcd9]{margin-top:15px;padding-top:15px;border-top:1px solid #444}.preset-label[data-v-7341fcd9]{color:#ccc;font-size:12px;margin-bottom:8px;font-weight:500}.preset-grid[data-v-7341fcd9]{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.preset-color[data-v-7341fcd9]{width:100%;aspect-ratio:1;border:2px solid #555;border-radius:4px;cursor:pointer;transition:transform .1s,border-color .1s;padding:0}.preset-color[data-v-7341fcd9]:hover{transform:scale(1.1);border-color:#888}.preset-color[data-v-7341fcd9]:active{transform:scale(.95)}.canvas-container[data-v-a62001b1]{position:relative;width:100%;height:calc(100dvh - 72px);background-color:#1f1f1f;overflow:hidden;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.canvas[data-v-a62001b1]{border:0px solid #ffffff;box-shadow:5px 4px 6px #000000b3;position:absolute;top:0;left:0;image-rendering:pixelated;image-rendering:crisp-edges}.toolbar[data-v-a62001b1]{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#232323f2;border:1px solid rgba(255,255,255,.1);border-radius:50px;box-shadow:0 4px 20px #0006,0 0 0 1px #ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;touch-action:auto}.separator[data-v-a62001b1]{width:1px;height:24px;background-color:#ffffff26;margin:0 4px}.brush-size-selector[data-v-a62001b1]{display:flex;gap:4px;align-items:center}.brush-size-button[data-v-a62001b1]{width:32px;height:32px;padding:0;background-color:transparent;border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.brush-size-button[data-v-a62001b1]:hover{background-color:#ffffff1a;border-color:#fff6;transform:scale(1.1)}.brush-size-button.active[data-v-a62001b1]{background-color:#ffffff26;border-color:#ffffff80}.brush-size-button[data-v-a62001b1]:active{transform:scale(.95)}.brush-preview[data-v-a62001b1]{background-color:#fffc;border-radius:50%;transition:all .2s ease}.brush-size-button:hover .brush-preview[data-v-a62001b1]{background-color:#fff}.reset-button[data-v-a62001b1]{width:32px;height:32px;padding:0;background-color:transparent;color:#ffffffb3;border:none;border-radius:50%;cursor:pointer;font-size:18px;font-family:inherit;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.reset-button[data-v-a62001b1]:before{content:"⟲";font-size:20px}.reset-button[data-v-a62001b1]:hover{background-color:#ffffff1a;color:#fff;transform:scale(1.1)}.reset-button[data-v-a62001b1]:active{transform:scale(.95)}.status-badge[data-v-a62001b1]{position:absolute;top:20px;right:20px;display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:#232323f2;border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 2px 10px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:11;font-size:12px;color:#fffc;touch-action:auto}.status-dot[data-v-a62001b1]{width:8px;height:8px;border-radius:50%;background-color:#f48771;animation:pulse-a62001b1 2s ease-in-out infinite}.status-badge.connecting .status-dot[data-v-a62001b1]{background-color:#dcdcaa}.status-badge.connected .status-dot[data-v-a62001b1]{background-color:#4ec9b0;animation:none}.status-stats[data-v-a62001b1]{display:flex;gap:8px;margin-left:4px;padding-left:8px;border-left:1px solid rgba(255,255,255,.15);font-family:Consolas,Courier New,monospace;font-size:11px;color:#fff9}@keyframes pulse-a62001b1{0%,to{opacity:1}50%{opacity:.3}}main[data-v-b3c3adc5]{display:flex;justify-content:center;align-items:center;height:calc(100dvh - 72px);margin:0}.diagram-node[data-v-1a77b20d]{position:absolute;cursor:pointer;transition:transform .2s ease;z-index:10;border:transparent solid 10px}.diagram-node[data-v-1a77b20d]:hover{transform:scale(1.05);z-index:20}.node-content[data-v-1a77b20d]{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem;background:transparent;border:none;border-radius:8px;padding:.75rem;min-width:150px;min-height:130px}.node-content div[data-v-1a77b20d]{vertical-align:middle;margin:auto}.node-icon[data-v-1a77b20d]{width:60px;height:auto;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto}.node-icon[data-v-1a77b20d] svg{width:100%;height:auto;fill:#fff;stroke:#fff;display:block;margin:0 auto}.node-title[data-v-1a77b20d]{font-size:.75rem;font-weight:600;color:#fff;line-height:1.3;width:100%;text-align:center;padding-top:1rem}.node-badge[data-v-1a77b20d]{position:absolute;top:-8px;right:-8px;background:#fff;color:#000;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;border:2px solid #000000}.tooltip[data-v-1a77b20d]{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:.8rem;padding:1rem;background:#fffffffa;border:2px solid #ffffff;border-radius:8px;color:#000;font-size:.85rem;line-height:1.5;min-width:280px;max-width:380px;white-space:normal;box-shadow:0 4px 16px #fff3;pointer-events:none;z-index:100}.tooltip-left[data-v-1a77b20d]{left:auto;right:100%;top:50%;transform:translateY(-50%);margin-top:0;margin-right:.8rem}.tooltip-left[data-v-1a77b20d]:before{left:100%;top:50%;transform:translateY(-50%);border:8px solid transparent;border-left-color:#fff;border-bottom-color:transparent}.tooltip-right[data-v-1a77b20d]{left:100%;right:auto;top:50%;transform:translateY(-50%);margin-top:0;margin-left:.8rem}.tooltip-right[data-v-1a77b20d]:before{right:100%;left:auto;top:50%;transform:translateY(-50%);border:8px solid transparent;border-right-color:#fff;border-bottom-color:transparent}.tooltip[data-v-1a77b20d]:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-bottom-color:#fff}.tooltip-header[data-v-1a77b20d]{font-size:1rem;font-weight:700;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid #cccccc}.tooltip-section[data-v-1a77b20d]{display:flex;gap:.5rem;margin-bottom:.5rem}.tooltip-section.tooltip-description[data-v-1a77b20d]{flex-direction:column;gap:.25rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #cccccc}.tooltip-label[data-v-1a77b20d]{font-weight:700;min-width:80px;color:#333}.tooltip-value[data-v-1a77b20d]{color:#000}.tooltip-enter-active[data-v-1a77b20d],.tooltip-leave-active[data-v-1a77b20d]{transition:opacity .2s ease}.tooltip-enter-from[data-v-1a77b20d],.tooltip-leave-to[data-v-1a77b20d]{opacity:0}.interactive-diagram[data-v-fe149721]{position:relative;width:100%;background:transparent;overflow:visible;scrollbar-width:thin;padding:0rem;height:calc(550px * var(--scale, 1))}.diagram-content[data-v-fe149721]{position:relative;width:1300px;height:550px;transition:transform .2s ease;overflow:visible}.connections-layer[data-v-fe149721]{position:absolute;top:0;left:0;pointer-events:none;z-index:1}.connection-active[data-v-fe149721]{stroke:#fff!important;stroke-width:3;opacity:1!important;animation:pulse-fe149721 .5s ease-in-out}.connection-hover[data-v-fe149721]{stroke:#fff!important;opacity:1!important;stroke-width:2.5;transition:all .2s ease}.connection-label[data-v-fe149721]{font-size:.75rem;fill:#fff;font-weight:600;pointer-events:none;opacity:.8}.hpa-label[data-v-fe149721]{font-size:.8rem;fill:#fff;font-weight:700;opacity:.7}@keyframes pulse-fe149721{0%,to{opacity:1}50%{opacity:.5}}.scalable-svg-container[data-v-d3b984c3]{width:100%;display:flex;justify-content:center;align-items:center;overflow:hidden}.scalable-svg[data-v-d3b984c3]{width:auto;height:auto;max-width:100%;object-fit:contain;cursor:pointer;transition:opacity .2s}.scalable-svg[data-v-d3b984c3]:hover{opacity:.9}.scalable-svg[data-v-d3b984c3]:focus{outline:2px solid #5a9efc;outline-offset:2px}.fullscreen-overlay[data-v-d3b984c3]{position:fixed;top:0;left:0;width:100dvw;height:100dvh;background:#000000f2;z-index:10000;display:flex;justify-content:center;align-items:center}.fullscreen-content[data-v-d3b984c3]{width:100%;height:100%;overflow:auto;display:flex;justify-content:center;align-items:center;cursor:grab;touch-action:none}.fullscreen-content[data-v-d3b984c3]:active{cursor:grabbing}.fullscreen-svg[data-v-d3b984c3]{max-width:none;max-height:none;-webkit-user-select:none;user-select:none;pointer-events:none}.close-button[data-v-d3b984c3]{position:absolute;top:1rem;right:1rem;width:3rem;height:3rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;cursor:pointer;display:flex;justify-content:center;align-items:center;z-index:10001;transition:all .2s}.close-button[data-v-d3b984c3]:hover{background:#fff3;border-color:#ffffff80}.close-button svg[data-v-d3b984c3]{width:1.5rem;height:1.5rem}.zoom-controls[data-v-d3b984c3]{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:10001;background:#000000d9;padding:.5rem;border-radius:.5rem;border:2px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #00000080;pointer-events:auto}.zoom-controls button[data-v-d3b984c3]{width:3rem;height:3rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:.25rem;color:#fff;font-size:1.5rem;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all .2s;font-weight:700}.zoom-controls button[data-v-d3b984c3]:nth-child(2){font-size:.875rem;width:4rem;font-weight:400}.zoom-controls button[data-v-d3b984c3]:hover{background:#fff3;border-color:#ffffff80}@media screen and (max-width:600px){.close-button[data-v-d3b984c3]{top:.5rem;right:.5rem;width:2.5rem;height:2.5rem}.close-button svg[data-v-d3b984c3]{width:1.25rem;height:1.25rem}.zoom-controls[data-v-d3b984c3]{bottom:3rem;bottom:max(3rem,env(safe-area-inset-bottom,0px) + 1rem)}.zoom-controls button[data-v-d3b984c3]{width:2.5rem;height:2.5rem;font-size:1.25rem}.zoom-controls button[data-v-d3b984c3]:nth-child(2){font-size:.75rem;width:3.5rem}}.page{overflow-y:scroll;height:calc(100dvh - 72px)}.about{margin:1rem auto;padding:0 2rem;max-width:1280px;color:#fff;overflow:visible;height:fit-content;padding-bottom:5em}p{margin-bottom:1.5rem}.description{margin-top:1rem;font-size:1.1rem;line-height:1.6}h2{font-size:1.5rem;margin-top:2rem;margin-bottom:.5rem}h3{font-size:1.2rem;margin-top:1.5rem;margin-bottom:.5rem}h4{font-size:1.1rem;margin-top:1.5rem;margin-bottom:.5rem}strong{font-weight:700}.highlighted{color:#5a9efc}a{color:#3498db;text-decoration:underline}ul{margin-bottom:1rem}.interactive-diagram{margin-top:2rem;margin-bottom:2rem}.component-detail{margin-top:3rem;padding:0rem;border-radius:4px}.component-detail h2{margin-top:0}.diagram-container{margin:2rem 0;text-align:center}.diagram-caption{font-size:.9rem;font-style:italic;color:#b0c4de;margin-top:.5rem}code{background:#ffffff1a;padding:.2rem .4rem;border-radius:3px;font-family:Courier New,Courier,monospace;font-size:.9em;color:#a8dadc}pre{background:#0000004d;padding:1rem;border-radius:6px;overflow-x:auto;margin:1rem 0;border:1px solid rgba(255,255,255,.1)}pre code{background:none;padding:0;font-size:.85rem;line-height:1.5;color:#e0e0e0;display:block;white-space:pre}@media screen and (max-width:600px){.about{padding:1rem;height:calc(100% - 64px)}h1{font-size:1.5rem}h2{font-size:1.25rem}pre{padding:.75rem;font-size:.8rem}pre code{font-size:.75rem}}
