.architecture-section{--arch-face:#fffdf7;--arch-icon-ink:#4b4842;--arch-strong-ink:#24231f;--arch-copy-ink:#59554e;--arch-muted-ink:#716c63;--arch-pipe-ink:#aaa398;--arch-flow-ink:#68645d;--arch-border:color-mix(in oklch, var(--arch-icon-ink) 18%, var(--paper));--arch-border-hover:color-mix(in oklch, var(--arch-icon-ink) 32%, var(--paper));--arch-face-sel:color-mix(in oklch, var(--pencil-blue) 7%, var(--arch-face))}.architecture-section [data-slot=tabs-trigger]{color:var(--arch-muted-ink)}.architecture-section [data-slot=tabs-trigger]:hover{background:color-mix(in oklch, var(--soft-paper) 55%, var(--paper));color:var(--arch-strong-ink)}.architecture-section [data-slot=tabs-trigger][data-state=active]{border-color:var(--arch-border);background:var(--arch-face);color:var(--arch-strong-ink)}.arch-project-icon{border-color:var(--arch-border);background:var(--arch-face)}.arch-project-icon__image--glyph{opacity:.78;filter:grayscale()sepia(.16)saturate(.65)}.arch-canvas{--arch-tile:92px;font-family:var(--font-sans)}.arch-canvas .react-flow__pane{cursor:default}.arch-canvas .react-flow__background{-webkit-mask-image:radial-gradient(130% 100% at 50% 42%,#000 55%,#0000 99%);mask-image:radial-gradient(130% 100% at 50% 42%,#000 55%,#0000 99%)}.arch-canvas .react-flow__handle{opacity:0;pointer-events:none;background:0 0;border:0;width:2px;min-width:0;height:2px;min-height:0;transform:translate(-50%,-50%)}.arch-canvas marker path,.arch-canvas marker polyline{fill:var(--arch-pipe-ink);stroke:var(--arch-pipe-ink)}.arch-tile{width:var(--arch-tile);transition:opacity .2s ease-out;position:relative}.arch-tile__face{width:var(--arch-tile);height:var(--arch-tile);border:1px solid var(--arch-border);background:var(--arch-face);box-shadow:0 1px 2px color-mix(in oklch, var(--arch-icon-ink) 7%, transparent);cursor:pointer;border-radius:18px;outline:none;place-items:center;transition:border-color .15s ease-out,background-color .15s ease-out,box-shadow .15s ease-out;display:grid;position:relative}.arch-tile__face:hover{border-color:var(--arch-border-hover)}.arch-tile[data-state=selected] .arch-tile__face{border-color:var(--pencil-blue);background:var(--arch-face-sel);box-shadow:0 0 0 4px color-mix(in oklch, var(--pencil-blue) 14%, transparent)}.arch-tile__face:focus-visible{box-shadow:0 0 0 4px color-mix(in oklch, var(--pencil-blue) 20%, transparent)}.arch-tile[data-state=dimmed]{opacity:.4}.arch-tile[data-bare] .arch-tile__face{box-shadow:none;background:0 0;border:none}.arch-tile[data-bare] .arch-tile__face:hover{border:none}.arch-tile[data-bare][data-state=selected] .arch-tile__face{box-shadow:none;background:0 0}.arch-tile[data-bare] .arch-tile__face:focus-visible{box-shadow:none;outline:2px solid color-mix(in oklch, var(--pencil-blue) 45%, transparent);outline-offset:4px;border-radius:12px}.react-flow__node[data-id=metaflow]{--arch-icon-ink:color-mix(in oklch, var(--arch-muted-ink) 88%, var(--paper))}.arch-tile__caption{width:calc(var(--arch-tile) + 96px);text-align:center;font-size:calc(17px * var(--arch-label-scale,1));color:var(--arch-muted-ink);margin:13px -48px 0;font-weight:500;line-height:1.25}.arch-tile[data-state=selected] .arch-tile__caption,.arch-tile[data-state=linked] .arch-tile__caption{color:var(--arch-strong-ink)}.react-flow__node[data-id=qops-managed-rules] .arch-tile__face{transform-origin:bottom;transform:scale(.8)}.react-flow__node[data-id=managed-rules] .arch-tile__caption,.react-flow__node[data-id=qops-managed-rules] .arch-tile__caption{width:calc(var(--arch-tile) + 100px);white-space:nowrap;margin-inline:-50px}.react-flow__node[data-id=model-deployment] .arch-tile__caption,.react-flow__node[data-id=iam] .arch-tile__caption{width:calc(var(--arch-tile) + 120px);margin-inline:-60px}.arch-popover{z-index:10;pointer-events:all;width:320px;position:absolute;transform:translateY(-50%)}.arch-popover[data-side=left]{transform:translate(-100%,-50%)}.arch-popover[data-side=top]{transform:translate(-50%,-100%)}.arch-popover[data-side=bottom]{transform:translate(-50%)}.arch-popover__card{border:1px solid var(--arch-border);background:var(--arch-face);box-shadow:0 1px 2px color-mix(in oklch, var(--arch-icon-ink) 7%, transparent), 0 12px 32px -16px color-mix(in oklch, var(--arch-icon-ink) 30%, transparent);transform-origin:0;transform:scale(var(--arch-popover-scale,1));border-radius:14px;padding:16px 18px 15px;animation:.18s ease-out arch-popover-in;position:relative}.arch-popover[data-side=left] .arch-popover__card{transform-origin:100%}.arch-popover[data-side=top] .arch-popover__card{transform-origin:bottom}.arch-popover[data-side=bottom] .arch-popover__card{transform-origin:top}.arch-popover__close{width:24px;height:24px;color:var(--arch-muted-ink);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;transition:color .15s ease-out,background-color .15s ease-out;display:grid;position:absolute;top:8px;right:8px}.arch-popover__close:hover,.arch-popover__close:focus-visible{color:var(--arch-strong-ink);background:color-mix(in oklch, var(--arch-icon-ink) 7%, transparent);outline:none}@media (max-width:1023px){.arch-popover{width:min(320px,100vw - 2rem)}.arch-popover__card{padding-right:52px}.arch-popover__close{width:44px;height:44px;top:4px;right:4px}}.arch-popover__eyebrow{letter-spacing:.01em;color:var(--arch-muted-ink);padding-right:22px;font-size:12.5px;font-weight:500;line-height:1.3}.arch-popover__title{letter-spacing:-.01em;color:var(--arch-strong-ink);margin-top:2px;padding-right:22px;font-size:16.5px;font-weight:600;line-height:1.25}.arch-popover__body{color:var(--arch-copy-ink);margin-top:7px;font-size:14.5px;line-height:1.55}.arch-popover__clients{border-top:1px solid var(--arch-border);color:var(--arch-muted-ink);margin-top:10px;padding-top:9px;font-size:12.5px;line-height:1.4}@keyframes arch-popover-in{0%{opacity:0;scale:.96}}.arch-plate{border:1.5px dotted color-mix(in oklch, var(--arch-icon-ink) 34%, var(--paper));background:0 0;border-radius:18px;width:100%;height:100%;transition:opacity .2s ease-out;position:relative}.arch-plate--dashed{border-style:dashed;border-width:1px}.arch-plate[data-dimmed]{opacity:.45}.arch-plate__label{letter-spacing:.01em;color:var(--arch-muted-ink);font-size:15.5px;font-weight:600;position:absolute;top:14px;left:18px}.arch-pipe{transition:opacity .2s ease-out}.arch-pipe path{fill:none}.arch-pipe__body{stroke:var(--arch-pipe-ink);stroke-width:2px;stroke-linecap:round}.arch-pipe__flow{stroke:var(--arch-flow-ink);stroke-width:3.5px;stroke-linecap:round;stroke-dasharray:1.5 13;opacity:.72;animation:1.9s linear infinite arch-flow}.arch-pipe[data-direction=both] .arch-pipe__flow{animation-timing-function:ease-in-out;animation-direction:alternate}.arch-pipe[data-emphasized] .arch-pipe__body{stroke:color-mix(in oklch, var(--pencil-blue) 35%, var(--arch-pipe-ink))}.arch-pipe[data-emphasized] .arch-pipe__flow{stroke:var(--pencil-blue);opacity:.95}.arch-pipe[data-dimmed]{opacity:.16}@keyframes arch-flow{to{stroke-dashoffset:-14.5px}}.arch-pipe__label{pointer-events:none;border:1px solid var(--arch-border);background:var(--paper);max-width:200px;font-size:calc(14px * var(--arch-label-scale,1));color:var(--arch-copy-ink);text-align:center;border-radius:7px;padding:3px 9px;font-weight:500;line-height:1.35;position:absolute}.arch-pipe__badge{pointer-events:none;border:1px solid var(--arch-border);background:var(--arch-face);width:40px;height:40px;box-shadow:0 1px 2px color-mix(in oklch, var(--arch-icon-ink) 7%, transparent);color:var(--arch-icon-ink);border-radius:12px;place-items:center;transition:opacity .2s ease-out;display:grid;position:absolute}.arch-pipe__badge-label{background:var(--paper);font-size:calc(13.5px * var(--arch-label-scale,1));white-space:nowrap;color:var(--arch-muted-ink);border-radius:5px;padding:0 5px;font-weight:500;line-height:1.4;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.arch-pipe__badge[data-dimmed]{opacity:.16}.arch-logo-cluster{pointer-events:none;--toolbelt-icon:40px;flex-direction:column;align-items:center;gap:6px;display:flex;position:relative;transform:translate(-50%)}.arch-logo-cluster__row{justify-content:center;align-items:center;gap:14px;display:flex}.arch-logo-cluster__logo{opacity:.85;background:0 0;border:0;place-items:center;padding:4px;display:grid}.arch-logo-cluster__img{width:auto;height:calc(var(--toolbelt-icon) * var(--logo-scale,1));max-width:calc(var(--toolbelt-icon) * 2.2 * var(--logo-scale,1));object-fit:contain}.arch-logo-cluster__img--mono{filter:grayscale()sepia(.16)saturate(.65);transition:filter .2s ease-out}.arch-logo-cluster__logo[aria-pressed=true] .arch-logo-cluster__img--mono{filter:none}.arch-logo-cluster__logo--button{pointer-events:all;cursor:pointer;border-radius:10px;transition:opacity .15s ease-out,background-color .15s ease-out}.arch-logo-cluster__logo--button:hover{opacity:1;background:color-mix(in oklch, var(--arch-icon-ink) 6%, transparent)}.arch-logo-cluster__logo--button:focus-visible{opacity:1;box-shadow:0 0 0 3px color-mix(in oklch, var(--pencil-blue) 20%, transparent);outline:none}.arch-logo-cluster__logo[aria-pressed=true]{opacity:1;background:color-mix(in oklch, var(--pencil-blue) 9%, transparent)}.arch-logo-cluster__label{letter-spacing:.01em;color:var(--arch-muted-ink);white-space:nowrap;font-size:13.5px;font-weight:500;line-height:1.3}.arch-logo-cluster__card{transform-origin:0 100%;transform:scale(var(--arch-popover-scale,1));z-index:10;pointer-events:all;border:1px solid var(--arch-border);background:var(--arch-face);width:260px;box-shadow:0 1px 2px color-mix(in oklch, var(--arch-icon-ink) 7%, transparent), 0 12px 32px -16px color-mix(in oklch, var(--arch-icon-ink) 30%, transparent);border-radius:14px;padding:13px 15px 14px;animation:.18s ease-out arch-popover-in;position:absolute;bottom:calc(100% + 8px);left:0}.arch-logo-cluster__card-title{letter-spacing:-.01em;color:var(--arch-strong-ink);font-size:16px;font-weight:600;line-height:1.25}.arch-logo-cluster__card-body{color:var(--arch-copy-ink);margin-top:6px;font-size:14.5px;line-height:1.5}@media (prefers-reduced-motion:reduce){.arch-pipe__flow,.arch-popover__card{animation:none}.arch-tile,.arch-tile__face,.arch-pipe,.arch-plate,.arch-popover__close{transition:none}}
