.fn-engine-art{--engine-accent:#493ada;align-self:center;min-width:0;border:1px solid #e3dfed;border-radius:18px;background:linear-gradient(145deg,#fff,#faf9fc);box-shadow:0 22px 65px #26304b0b;padding:23px 23px 18px;color:#172540}
.fn-engine-top,.fn-engine-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;font:9px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1px;color:#596078}
.fn-engine-top{padding-bottom:15px;border-bottom:1px solid #eeebf3}.fn-engine-top>span:first-child{display:flex;align-items:center;gap:8px;color:#493ada;font-weight:700}.fn-engine-top i{width:6px;height:6px;border-radius:2px;background:#493ada}
.fn-engine-diagram{display:block;width:100%;height:auto;margin:7px 0 12px;overflow:visible}
.fn-engine-route path{fill:none;stroke:var(--engine-accent);stroke-width:1.6;stroke-linejoin:round;opacity:.45}.fn-engine-route .fn-engine-secondary{stroke:#b8b1ce;stroke-dasharray:3 6;stroke-width:1;opacity:.7}
.fn-engine-flow path{fill:none;stroke:var(--engine-accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:7 140;stroke-dashoffset:147;opacity:0}.fn-engine-playing .fn-engine-flow path{opacity:.7;animation:fn-engine-flow 7s linear infinite}
@keyframes fn-engine-flow{to{stroke-dashoffset:-147}}
.fn-engine-module>rect{fill:#fff;stroke:#d8d3e5;filter:url(#fn-engine-shadow)}.fn-engine-module-icon{fill:#f0edfc;stroke:#e1daf7}.fn-engine-module path{fill:none;stroke:var(--engine-accent);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.fn-engine-module text{font:600 13px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.5px;fill:#35435b}.fn-engine-module .fn-engine-module-code{font-size:10px;fill:#657087;letter-spacing:0}.fn-engine-module-bottom .fn-engine-module-code{display:none}
.fn-engine-core text{font:700 35px Arial,sans-serif;fill:#fff}.fn-engine-annotation text{font:9px ui-monospace,Consolas,monospace;letter-spacing:1px;fill:#657087}
.fn-engine-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;background:#f1eef8;border-radius:10px}.fn-engine-stages button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid transparent;border-radius:7px;background:transparent;color:#526079;cursor:pointer;font:600 12px Arial,sans-serif;transition:background .2s,color .2s}.fn-engine-stages button span{font:9px ui-monospace,Consolas,monospace}.fn-engine-stages button[aria-pressed=true]{background:#fff;border-color:#ded8f0;color:var(--engine-accent);box-shadow:0 2px 7px #28345b08}.fn-engine-stages button:hover{background:#fff}
.fn-engine-detail{padding:20px 4px 19px;min-height:103px}.fn-engine-detail strong{font:700 15px/1.5 Space,Arial,sans-serif;color:#172540}.fn-engine-detail p{font:13px/1.75 Arial,sans-serif;color:#526079;margin:8px 0 0;max-width:430px}.fn-engine-bottom{border-top:1px solid #eeebf3;padding-top:13px;font-size:8px}.fn-engine-bottom button{padding:7px 0 7px 12px;border:0;background:none;font:11px Arial,sans-serif;letter-spacing:0;color:#526079;cursor:pointer}.fn-engine-bottom button span{margin-left:6px;color:#493ada}
.fn-engine-art button:focus-visible{outline:2px solid #493ada;outline-offset:3px}.fn-engine-art[data-stage="1"] .fn-engine-core>path:first-child{fill:#dcebe8;stroke:#a2c6bf}.fn-engine-art[data-stage="2"] .fn-engine-module>rect{stroke:#b8addb}
@media(max-width:850px){.fn-new-hero{gap:40px}.fn-engine-art{width:min(100%,530px);margin-inline:auto;padding:20px}.fn-engine-detail{min-height:95px}}
@media(max-width:400px){.fn-engine-art{padding:15px;border-radius:14px}.fn-engine-top{font-size:8px;letter-spacing:.5px}.fn-engine-detail strong{font-size:14px}.fn-engine-detail p{font-size:12px}.fn-engine-stages button{gap:5px;font-size:11px}.fn-engine-bottom{letter-spacing:.5px}.fn-engine-module text:not(.fn-engine-module-code){font-size:19px}.fn-engine-module-bottom text:not(.fn-engine-module-code){font-size:16px}.fn-engine-module .fn-engine-module-code,.fn-engine-annotation{display:none}}
@media(prefers-reduced-motion:reduce){.fn-engine-flow path{animation:none!important}.fn-engine-stages button{transition:none}.fn-verb-change{animation:none!important}}

/* Accessible spacing for the public audit link. */
#quality-metrics > .q-more { display: inline-flex; align-items: center; min-height: 44px; margin-block: 12px; }

a[href$="#demo-access"] { display: inline-flex; align-items: center; min-height: 44px; padding-block: 6px; }
