.ph[data-astro-cid-affcmhfb]{margin:0}.ph[data-astro-cid-affcmhfb] svg[data-astro-cid-affcmhfb]{width:100%;height:auto;display:block;overflow:visible}.ph-actor[data-astro-cid-affcmhfb] rect[data-astro-cid-affcmhfb]{fill:var(--card);stroke:var(--line);stroke-width:1.5px}.ph-agent[data-astro-cid-affcmhfb] rect[data-astro-cid-affcmhfb]{stroke:var(--accent-2)}.ph-ico[data-astro-cid-affcmhfb]{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round}.ph-agent[data-astro-cid-affcmhfb] .ph-ico[data-astro-cid-affcmhfb]{stroke:var(--accent-2)}.ph-fill[data-astro-cid-affcmhfb]{fill:var(--accent-2);stroke:none}.ph-t[data-astro-cid-affcmhfb]{font:700 17px var(--font-head);fill:var(--heading)}.ph-s[data-astro-cid-affcmhfb]{font:500 13.5px var(--mono);fill:var(--muted)}.ph-frame[data-astro-cid-affcmhfb]{fill:var(--surface);stroke:var(--accent);stroke-width:2px}.ph-tab[data-astro-cid-affcmhfb]{fill:var(--accent)}.ph-tabt[data-astro-cid-affcmhfb]{font:600 12.5px var(--mono);fill:var(--on-accent)}.ph-layer[data-astro-cid-affcmhfb] rect[data-astro-cid-affcmhfb]{fill:var(--card);stroke:var(--line);stroke-width:1.5px}.ph-gitops[data-astro-cid-affcmhfb] rect[data-astro-cid-affcmhfb]{stroke:var(--accent)}.ph-guard[data-astro-cid-affcmhfb] rect[data-astro-cid-affcmhfb]{stroke:var(--accent-2)}.ph-link[data-astro-cid-affcmhfb]{stroke:var(--accent);stroke-width:2px;stroke-dasharray:4 5;fill:none}.ph-dot[data-astro-cid-affcmhfb]{fill:var(--accent)}.ph-cluster[data-astro-cid-affcmhfb] rect[data-astro-cid-affcmhfb]:first-child{fill:var(--card);stroke:var(--line);stroke-width:1.5px}.ph-ct[data-astro-cid-affcmhfb]{fill:var(--heading);font-weight:600}.ph-pod[data-astro-cid-affcmhfb]{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.2px}.ph-prod[data-astro-cid-affcmhfb] .ph-pod[data-astro-cid-affcmhfb]{fill:color-mix(in srgb, var(--ok) 18%, transparent);stroke:var(--ok)}.ph-prod[data-astro-cid-affcmhfb] rect[data-astro-cid-affcmhfb]:first-child{stroke:var(--ok)}@media (prefers-reduced-motion:no-preference){.ph-dot[data-astro-cid-affcmhfb]{animation:2.6s ease-in-out infinite ph-flow}.d2[data-astro-cid-affcmhfb]{animation-delay:.9s}.d3[data-astro-cid-affcmhfb]{animation-delay:1.6s}@keyframes ph-flow{0%{opacity:0;transform:translateY(0)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translateY(32px)}}}.stack[data-astro-cid-xganzk2d]{gap:10px;margin:0;padding:0;list-style:none;display:grid}.stack-l[data-astro-cid-xganzk2d]{border:1px solid var(--line);background:var(--card);margin-inline:calc(var(--i) * 6px);box-shadow:var(--shadow);border-radius:14px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;align-items:center;gap:8px 24px;padding:16px 20px 16px 26px;display:grid;position:relative}.stack-l[data-astro-cid-xganzk2d]:before{content:"";background:var(--accent);border-radius:0 4px 4px 0;width:4px;position:absolute;top:12px;bottom:12px;left:0}.stack-ai[data-astro-cid-xganzk2d]:before{background:var(--accent-2)}.stack-ai[data-astro-cid-xganzk2d]{border-color:color-mix(in srgb, var(--accent-2) 45%, var(--line))}.stack-base[data-astro-cid-xganzk2d]{background:var(--surface-2)}.stack-main[data-astro-cid-xganzk2d] h3[data-astro-cid-xganzk2d]{margin:0 0 2px;font-size:1.05rem}.stack-main[data-astro-cid-xganzk2d] p[data-astro-cid-xganzk2d]{margin:0;font-size:14.5px}.stack-tools[data-astro-cid-xganzk2d]{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.stack-tools[data-astro-cid-xganzk2d] li[data-astro-cid-xganzk2d]{font:500 12.5px var(--mono);background:var(--accent-soft);color:var(--heading);border-radius:999px;padding:3px 9px}.stack-svc[data-astro-cid-xganzk2d]{font:600 13px var(--font-head);white-space:nowrap}.stack-svc[data-astro-cid-xganzk2d]:after{content:" →"}@media (width<=860px){.stack-l[data-astro-cid-xganzk2d]{grid-template-columns:minmax(0,1fr);margin-inline:0}}.why[data-astro-cid-lcdefpme]{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.why-i[data-astro-cid-lcdefpme]{border-top:2px solid var(--line);padding-top:16px}.why-n[data-astro-cid-lcdefpme]{font:600 12px var(--mono);color:var(--accent)}.why-i[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme]{margin:6px 0;font-size:1.1rem}.why-i[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme]{margin:0;font-size:15px}.svc-grid[data-astro-cid-lcdefpme]{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.svc[data-astro-cid-lcdefpme]{color:var(--text);flex-direction:column;gap:6px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.svc[data-astro-cid-lcdefpme]:hover{border-color:var(--accent);transform:translateY(-2px)}.svc[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme]{margin:6px 0 0;font-size:1.1rem}.svc[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme]{margin:0;font-size:14.5px}.svc[data-astro-cid-lcdefpme] .svc-tag[data-astro-cid-lcdefpme]{font:600 12.5px var(--mono);color:var(--accent)}.svc-badge[data-astro-cid-lcdefpme]{background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border-radius:12px;place-items:center;display:grid}.open[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;display:grid}.open-h[data-astro-cid-lcdefpme]{margin:0 0 12px;font-size:1rem}.repos-col[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,1fr);gap:10px;margin:0}.course-list[data-astro-cid-lcdefpme]{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.course-list[data-astro-cid-lcdefpme] li[data-astro-cid-lcdefpme]{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:2px 16px;padding:11px 0;display:flex}.course-list[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]{font:600 15px var(--font-head);text-decoration:none}.course-list[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]:hover{text-decoration:underline}.course-list[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]{color:var(--muted);font-size:13.5px}.open-more[data-astro-cid-lcdefpme]{font:600 14px var(--font-head);margin:12px 0 8px}.small[data-astro-cid-lcdefpme]{font-size:14px}@media (width<=1000px){.svc-grid[data-astro-cid-lcdefpme]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.why[data-astro-cid-lcdefpme],.open[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.svc-grid[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,1fr)}}
