.csys-root{--csys-line:var(--card-border);--csys-hub:var(--fg);--csys-hub-text:var(--bg);--csys-danger:#ea3d38;--csys-hint:#b7b7b7;--csys-tag-collab:#f0b8a8;--csys-tag-do:#7ac983;--csys-tag-automate:#92abda;--csys-tag-learn:#f4d680;--csys-section-bg:#0000000a;--csys-section-label:#00000052;--csys-seg-track:#7878801f;--csys-shadow-rest:0 1px 2px #0000000a, 0 4px 12px #0000000a;--csys-shadow-hover:0 2px 4px #0000000f, 0 8px 24px #00000014;--csys-shadow-drag:0 4px 8px #00000014, 0 16px 40px #0000001f;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;overscroll-behavior:none;position:fixed;inset:0;overflow:hidden}@supports (color:lab(0% 0 0)){.csys-root{--csys-danger:lab(53.8415% 65.9514 44.8839);--csys-hint:lab(74.48% -.0000298023 0)}}.dark .csys-root{--csys-hint:#5d5d5d;--csys-section-bg:#ffffff09;--csys-section-label:#fff6;--csys-seg-track:#7878803d;--csys-shadow-rest:0 1px 2px #0006, 0 4px 12px #0006;--csys-shadow-hover:0 2px 4px #00000080, 0 8px 24px #00000080;--csys-shadow-drag:0 4px 8px #0000008c, 0 16px 40px #0009}@supports (color:lab(0% 0 0)){.dark .csys-root{--csys-hint:lab(39.68% 0 0)}}.csys-root ::-webkit-scrollbar{width:10px;height:10px}.csys-root ::-webkit-scrollbar-track{background:0 0}.csys-root ::-webkit-scrollbar-thumb{background:#78788052 padding-box padding-box;border:2px solid #0000;border-radius:6px}.csys-root ::-webkit-scrollbar-thumb:hover{background:#78788085 padding-box padding-box;border:2px solid #0000}.csys-header{top:var(--nav-h);background:color-mix(in oklab, var(--bg) 85%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);z-index:40;flex-wrap:wrap;align-items:center;gap:16px;padding:16px 28px 14px;display:flex;position:fixed;left:0;right:0}.csys-header__title{letter-spacing:-.4px;color:var(--fg);font-size:22px;font-weight:600}.csys-header__subtitle{color:var(--muted);letter-spacing:-.1px;font-size:14px}.csys-header__legend{color:var(--muted);gap:18px;margin-left:auto;font-size:12px;display:flex}.csys-header__legend-item{align-items:center;gap:6px;display:inline-flex}.csys-header__swatch{background:var(--card-border);border-radius:2px;width:14px;height:2px}.csys-header__swatch--loop{border-top:1.5px dashed var(--muted);background:0 0;height:0}.csys-header__back{width:30px;height:30px;color:var(--muted);letter-spacing:-.1px;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-right:4px;font-size:18px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.csys-header__back:hover{color:var(--fg);background:#78788024}.csys-viewport{top:calc(var(--nav-h) + 60px);touch-action:none;cursor:default;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.csys-viewport.is-pan-mode{cursor:grab}.csys-viewport.is-pan-mode:active{cursor:grabbing}.csys-stage{will-change:transform;position:absolute;top:0;left:0}.csys-section{background:var(--csys-section-bg);pointer-events:none;border-radius:24px;position:absolute}.csys-section__label{color:var(--csys-section-label);text-transform:uppercase;letter-spacing:1.4px;font-size:10.5px;font-weight:700;position:absolute;top:16px;left:24px}.csys-wires{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.csys-wire{fill:none;stroke:var(--card-border);stroke-width:1.5px}.csys-wire--loop{stroke-dasharray:5 5;stroke:var(--muted);opacity:.75}.csys-wire__hit{fill:none;stroke:#0000;stroke-width:16px;pointer-events:stroke;cursor:pointer}.csys-drag-line{stroke:var(--accent);stroke-width:2px;stroke-dasharray:5 5;fill:none}.csys-node{background:var(--card);width:200px;box-shadow:var(--csys-shadow-rest);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:16px;padding:12px 16px 13px;transition:box-shadow .18s,transform .12s,background .2s;position:absolute}.csys-node:hover{box-shadow:var(--csys-shadow-hover)}.csys-node.is-dragging{cursor:grabbing;box-shadow:var(--csys-shadow-drag);z-index:50;transition:none;transform:scale(1.025)}.csys-node.is-drop-target{outline:2.5px solid var(--accent);outline-offset:3px}.csys-node__phase{color:var(--muted);text-transform:uppercase;letter-spacing:.7px;margin-bottom:4px;font-size:10.5px;font-weight:600}.csys-node__name{letter-spacing:-.24px;color:var(--fg);font-size:15px;font-weight:600;line-height:1.25}.csys-node__desc{color:var(--muted);letter-spacing:-.05px;margin-top:2px;font-size:12.5px;line-height:1.35}.csys-node--hub{background:var(--csys-hub)}.csys-node--hub .csys-node__phase{color:color-mix(in oklab, var(--csys-hub-text) 55%, transparent)}.csys-node--hub .csys-node__name{color:var(--csys-hub-text)}.csys-node--hub .csys-node__desc{color:color-mix(in oklab, var(--csys-hub-text) 70%, transparent)}.csys-node--offer{background:var(--accent)}.csys-node--offer .csys-node__phase{color:#ffffffc7}.csys-node--offer .csys-node__name{color:var(--accent-fg)}.csys-node--offer .csys-node__desc{color:#ffffffe0}.csys-node--tag-collab{background:var(--csys-tag-collab)}.csys-node--tag-do{background:var(--csys-tag-do)}.csys-node--tag-automate{background:var(--csys-tag-automate)}.csys-node--tag-learn{background:var(--csys-tag-learn)}.csys-node--tag-collab .csys-node__phase,.csys-node--tag-do .csys-node__phase,.csys-node--tag-automate .csys-node__phase,.csys-node--tag-learn .csys-node__phase{color:#0000008c}.csys-node--tag-collab .csys-node__name,.csys-node--tag-do .csys-node__name,.csys-node--tag-automate .csys-node__name,.csys-node--tag-learn .csys-node__name{color:#1d1d1f}.csys-node--tag-collab .csys-node__desc,.csys-node--tag-do .csys-node__desc,.csys-node--tag-automate .csys-node__desc,.csys-node--tag-learn .csys-node__desc{color:#000000b3}.csys-delete{z-index:320;background:var(--csys-danger);color:#fff;border:2px solid var(--card);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-family:inherit;font-size:13px;line-height:1;transition:transform .12s;display:flex;position:absolute;box-shadow:0 2px 6px #0003}.csys-delete:hover{transform:scale(1.1)}.csys-wire-add{z-index:310;background:var(--accent);width:24px;height:24px;color:var(--accent-fg);border:2px solid var(--card);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:17px;line-height:1;transition:transform .12s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0000002e}.csys-wire-add:hover{transform:translate(-50%,-50%)scale(1.12)}.csys-wire-handle{z-index:310;background:var(--card);border:2.5px solid var(--accent);cursor:grab;border-radius:50%;width:14px;height:14px;transition:transform .12s;display:block;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000040}.csys-wire-handle:hover{transform:translate(-50%,-50%)scale(1.25)}.csys-wire-handle:active{cursor:grabbing}.csys-insert{z-index:330;background:var(--card);border-radius:14px;width:224px;padding:12px;position:absolute;transform:translate(-50%,14px);box-shadow:0 12px 36px #00000029,0 4px 12px #00000014}.csys-insert__title{text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin-bottom:9px;padding-left:1px;font-size:10px;font-weight:700}.csys-insert__input{border:1px solid var(--card-border);background:var(--bg);width:100%;color:var(--fg);letter-spacing:-.1px;border-radius:9px;margin-bottom:8px;padding:8px 10px;font-family:inherit;font-size:13px}.csys-insert__input:focus{border-color:var(--accent);outline:none}.csys-insert__actions{gap:8px;display:flex}.csys-insert__actions button{cursor:pointer;border:none;border-radius:9px;flex:1;padding:8px;font-family:inherit;font-size:12.5px;font-weight:600}.csys-insert__add{background:var(--accent);color:var(--accent-fg)}.csys-insert__cancel{background:var(--csys-seg-track);color:var(--fg)}@keyframes csys-picker-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.csys-picker{background:var(--card);z-index:200;border-radius:18px;width:290px;padding:14px;animation:.16s ease-out csys-picker-in;position:absolute;box-shadow:0 12px 36px #00000024,0 4px 12px #0000000f}.dark .csys-picker{box-shadow:0 12px 36px #00000080,0 4px 12px #0000004d}.csys-picker__title{text-transform:uppercase;letter-spacing:1.3px;color:var(--muted);padding-left:2px;font-size:10px;font-weight:700}.csys-picker__subtitle{color:var(--fg);letter-spacing:-.1px;margin-top:3px;margin-bottom:10px;padding-left:2px;font-size:12px;line-height:1.3}.csys-picker__axis{text-align:center;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);opacity:.7;margin:4px 0;font-size:9.5px;font-weight:600}.csys-picker__axis-row{justify-content:space-between;padding:4px 12px 0;display:flex}.csys-picker__axis-row span{text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);opacity:.7;font-size:9.5px;font-weight:600}.csys-picker__grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.csys-tag-btn{cursor:pointer;text-align:center;letter-spacing:-.1px;color:#1d1d1f;border:none;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:70px;padding:12px 8px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.25;transition:opacity .18s,transform .18s,filter .18s,box-shadow .18s;display:flex;position:relative}.csys-tag-btn__symbols{letter-spacing:2px;opacity:.55;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.csys-tag-btn__label{font-size:12px;font-weight:600}.csys-tag-btn--collab{background:var(--csys-tag-collab)}.csys-tag-btn--do{background:var(--csys-tag-do)}.csys-tag-btn--automate{background:var(--csys-tag-automate)}.csys-tag-btn--learn{background:var(--csys-tag-learn)}.csys-picker__grid:hover .csys-tag-btn{opacity:.38;filter:saturate(.7);transform:scale(.96)}.csys-picker__grid:hover .csys-tag-btn:hover{opacity:1;filter:saturate(1.05);z-index:1;transform:scale(1.07);box-shadow:0 6px 18px #0000001f}.csys-tag-btn.is-active:after{content:"✓";font-size:11px;font-weight:700;position:absolute;top:5px;right:8px}.csys-picker__clear{border:1px solid var(--card-border);cursor:pointer;width:100%;color:var(--muted);background:0 0;border-radius:10px;margin-top:10px;padding:8px;font-family:inherit;font-size:11.5px;font-weight:500;transition:background .12s;display:block}.csys-picker__clear:hover{background:var(--bg)}.csys-dock{z-index:250;background:color-mix(in oklab, var(--card) 78%, transparent);-webkit-backdrop-filter:saturate(180%)blur(26px);-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:22px;align-items:center;gap:6px;max-width:calc(100vw - 28px);padding:7px 9px;display:flex;position:fixed;bottom:18px;left:50%;overflow:auto hidden;transform:translate(-50%);box-shadow:0 8px 32px #00000029,0 2px 8px #00000012}.csys-dock::-webkit-scrollbar{display:none}.csys-dock__group,.csys-dock__tab,.csys-dock__btn{flex:none}.dark .csys-dock{box-shadow:0 8px 32px #00000080,0 2px 8px #0000004d}.csys-dock__group{align-items:center;gap:2px;display:flex}.csys-dock__divider{background:#78788047;flex:none;width:1px;height:30px;margin:0 5px}.dark .csys-dock__divider{background:#78788066}.csys-dock__tab{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:14px;flex-direction:column;align-items:center;gap:3px;min-width:52px;padding:6px 9px;font-family:inherit;transition:background .15s,color .15s;display:flex}.csys-dock__tab svg{width:22px;height:22px;display:block}.csys-dock__tab span{letter-spacing:-.1px;font-size:10px;font-weight:600}.csys-dock__tab:hover{color:var(--fg);background:#78788024}.csys-dock__tab.is-active{color:var(--accent);background:color-mix(in oklab, var(--accent) 12%, transparent)}.csys-dock__btn{cursor:pointer;width:40px;height:40px;color:var(--fg);background:0 0;border:none;border-radius:13px;justify-content:center;align-items:center;font-family:inherit;transition:background .15s,opacity .15s;display:flex}.csys-dock__btn svg{width:20px;height:20px}.csys-dock__btn:hover:not(:disabled){background:#78788029}.csys-dock__btn:disabled{opacity:.3;cursor:default}.csys-dock__btn--danger{color:var(--csys-danger)}@keyframes csys-spin{to{transform:rotate(360deg)}}.csys-dock__btn.is-active{color:var(--accent);background:color-mix(in oklab, var(--accent) 14%, transparent)}.csys-dock__btn.is-active:hover{background:color-mix(in oklab, var(--accent) 20%, transparent)}@media (max-width:640px){.csys-dock__tab{min-width:44px;padding:5px 6px}.csys-dock__tab span,.csys-header__legend{display:none}.csys-header{padding:12px 16px 10px}.csys-header__title{font-size:18px}.csys-header__back{width:28px;height:28px;font-size:16px}}
