/*!
 * ahpio-site: the whole stylesheet, for every language.
 *
 * Palette and type stack are agenthostclient.com's, so the projects read as
 * one family. Each section sets `--accent` to one of the hue tokens, and its
 * kicker, icon tiles, glow and borders follow. No web fonts.
 */
:root{color-scheme:dark;--bg:#06080c;--bg-soft:#0a0e14;--panel:#0e131b;--panel-2:#131a24;--ink:#f4f7fa;--dim:#c3ccd9;--muted:#8a94a6;--line:#1d2532;--brand:#5b9bff;--ok:#34d17f;--app:#38bdf8;--cli:#a78bfa;--warn:#e0a83c;--accent:var(--brand);--radius-sm:10px;--radius:16px;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--wrap:72rem}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:var(--mono)}code{color:var(--ink);font-size:.9em}img{max-width:100%;height:auto}.wrap{width:min(var(--wrap), calc(100% - 2rem));margin-inline:auto}.skip{position:absolute;top:0;left:-9999px}.skip:focus{z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:.5rem .75rem;top:.75rem;left:1rem}.nav{z-index:10;background:color-mix(in srgb, var(--bg) 86%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.nav .wrap{align-items:center;gap:1.5rem;height:3.5rem;display:flex}.logo{color:var(--ink);letter-spacing:-.01em;font-weight:700}.logo:hover{text-decoration:none}.logo span{color:var(--brand)}.nav .sections{gap:1.25rem;margin-left:auto;font-size:.92rem;display:flex}.nav .sections a{color:var(--dim)}.langs{gap:.25rem;font-size:.8rem;font-weight:600;display:flex}.langs a{color:var(--muted);border:1px solid #0000;border-radius:6px;padding:.2rem .5rem}.langs a[aria-current=true]{color:var(--ink);border-color:var(--line);background:var(--panel)}.langs a:hover{color:var(--ink);text-decoration:none}@media (width<=48rem){.nav .sections{display:none}.langs{margin-left:auto}}.kicker{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 .6rem;font-size:.75rem}h2{letter-spacing:-.02em;margin:0 0 1rem;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.12}h3{margin:0 0 .35rem;font-size:1.02rem}.intro{color:var(--dim);max-width:44rem;margin:0 0 2rem;font-size:1.08rem}.links{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.links:empty{display:none}.btn{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);color:var(--ink);align-items:center;gap:.4rem;padding:.65rem 1.1rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--accent);text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:#04121f}.btn.primary:hover{filter:brightness(1.1)}.repo{border-radius:var(--radius-sm);background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));color:var(--ink);align-items:center;gap:.75rem;padding:.55rem .9rem .55rem .75rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.repo:hover{border-color:var(--accent);box-shadow:0 6px 24px -10px color-mix(in srgb, var(--accent) 60%, transparent);text-decoration:none;transform:translateY(-1px)}.repo>svg:first-child{flex:none}.repo-text{min-width:0;line-height:1.25;display:grid}.repo-text b{font-family:var(--mono);font-size:.92rem}.repo-text small{color:var(--muted);font-size:.78rem}.repo-arrow{color:var(--muted);flex:none;margin-left:.25rem}.repo:hover .repo-arrow{color:var(--accent)}.npm{font-family:var(--mono);color:var(--dim);border-radius:var(--radius-sm);border:1px dashed color-mix(in srgb, var(--accent) 40%, var(--line));background:var(--bg-soft);padding:.6rem .9rem;font-size:.85rem}.npm .p{color:var(--accent)}.npm:hover{color:var(--ink);border-color:var(--accent);text-decoration:none}pre{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--dim);margin:0;padding:.85rem 1rem;font-size:.85rem;line-height:1.6;overflow-x:auto}pre .p{color:var(--accent);user-select:none}.code-label{color:var(--muted);margin:0 0 .35rem;font-size:.8rem}.tile{width:2.5rem;height:2.5rem;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:10px;flex:none;place-items:center;display:inline-grid}.stats{flex-wrap:wrap;gap:.75rem 2rem;margin:0 0 2rem;display:flex}.stats div{display:grid}.stats dt{font-family:var(--mono);color:var(--accent);font-size:1.05rem;font-weight:700}.stats dd{color:var(--muted);margin:0;font-size:.8rem}.note{border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--warn) 45%, var(--line));background:color-mix(in srgb, var(--warn) 6%, var(--panel));color:var(--dim);margin:2rem 0 0;padding:1rem 1.25rem;font-size:.95rem}.note strong{color:var(--warn)}section{border-top:1px solid var(--line);padding:5rem 0;position:relative}section:before{content:"";pointer-events:none;background:radial-gradient(ellipse 60% 100% at 20% 0%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 70%);height:24rem;position:absolute;inset:0 0 auto}section>.wrap{position:relative}.hero{padding:5rem 0 3.5rem;position:relative}.hero:before{content:"";pointer-events:none;background:radial-gradient(ellipse 50% 40% at 50% 66%, color-mix(in srgb, var(--brand) 14%, transparent), transparent 70%), radial-gradient(ellipse 40% 30% at 12% 0%, color-mix(in srgb, var(--ok) 9%, transparent), transparent 70%);position:absolute;inset:0}.hero>.wrap{position:relative}.eyebrow{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ok);margin:0 0 1rem;font-size:.78rem}h1{letter-spacing:-.03em;max-width:19ch;margin:0 0 1.25rem;font-size:clamp(2.2rem,6vw,3.8rem);line-height:1.06}h1 .soft{color:var(--muted)}.lede{color:var(--dim);max-width:42rem;margin:0 0 2rem;font-size:1.15rem}.hero-cta{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:3.5rem;display:flex}.caption{color:var(--muted);text-align:center;margin:1.25rem 0 0;font-size:.9rem}.dg{--in:var(--brand);--out:var(--ok)}.dg-node{background:var(--panel);border:1px solid var(--line);border-radius:12px;align-items:center;gap:.6rem;min-width:0;padding:.6rem .85rem;display:flex}.dg-node span{min-width:0;line-height:1.2;display:grid}.dg-node b{white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;overflow:hidden}.dg-node small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.dg-node svg{flex:none}.clients .dg-node{border-color:color-mix(in srgb, var(--in) 40%, var(--line))}.clients .dg-node svg{color:var(--in)}.agents .dg-node{border-color:color-mix(in srgb, var(--out) 40%, var(--line))}.agents .dg-node svg{color:var(--out)}.dg-host{text-align:center;border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--in) 60%, var(--line));box-shadow:0 0 56px -10px color-mix(in srgb, var(--in) 50%, transparent);background:linear-gradient(#172133,#101823);min-width:0;padding:1.1rem 1.5rem}.dg-kicker{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--in);margin:0;font-size:.72rem}.dg-host strong{font-family:var(--mono);margin:.15rem 0;font-size:1.5rem;display:block}.dg-line{color:var(--muted);margin:0;font-size:.88rem}.dg-host ul{flex-wrap:wrap;justify-content:center;gap:.35rem;margin:.85rem 0 0;padding:0;list-style:none;display:flex}.dg-host li{color:var(--dim);background:#ffffff0d;border-radius:6px;padding:.15rem .5rem;font-size:.74rem}.wires{width:100%;display:block;overflow:visible}.wires path{fill:none;vector-effect:non-scaling-stroke}.wires .base{stroke:#ffffff14;stroke-width:2px}.wires .flow{stroke-width:2px;stroke-dasharray:5 7;animation:1.2s linear infinite flow}.wires.in .flow{stroke:var(--in)}.wires.out .flow{stroke:var(--out)}@keyframes flow{to{stroke-dashoffset:-24px}}@media (prefers-reduced-motion:reduce){.wires .flow{animation:none}}.dg-a{justify-items:center;max-width:60rem;margin-inline:auto;display:grid}.dg-a .dg-nodes{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;width:100%;display:grid}.dg-a .dg-node{justify-content:center}.dg-a .wires{height:90px}.dg-a .dg-host{width:22rem}.dg-b{grid-template-columns:minmax(0,1fr) minmax(3rem,7rem) minmax(0,1.25fr) minmax(3rem,7rem) minmax(0,1fr);padding-top:1.75rem;display:grid}.dg-b .dg-col{grid-template-rows:repeat(4,1fr);gap:.75rem;display:grid;position:relative}.dg-b .dg-head{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem;position:absolute;top:-1.75rem;left:0}.dg-b .wires{height:100%}.dg-b .dg-host{align-self:center}@media (width<=52rem){.dg-a .dg-nodes{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.dg-a .dg-node{justify-content:flex-start}.dg-node b,.dg-node small{white-space:normal}.dg-a .wires{background:linear-gradient(var(--in), var(--in)) center / 2px 100% no-repeat;opacity:.6;height:2.25rem}.dg-a .wires.out{background-image:linear-gradient(var(--out), var(--out))}.dg-a .wires path{display:none}.dg-a .dg-host{width:100%}.dg-b{grid-template-columns:minmax(0,1fr);gap:.6rem;padding-top:0}.dg-b .wires{display:none}.dg-b .dg-col{grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.dg-b .dg-head{grid-column:1/-1;position:static}.dg-b .dg-host{margin:.75rem 0}}.fs-head{margin-bottom:.5rem}.fs-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;display:grid}.fs-grid+.links{margin-top:1.75rem}.fs-card{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);min-width:0;padding:1.35rem;transition:border-color .15s}.fs-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.fs-card .tile{margin-bottom:.9rem}.fs-card p{color:var(--dim);margin:0;font-size:.95rem}.fs-bento .fs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fs-bento .fs-card:first-child{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, var(--panel)), var(--panel) 70%);border-color:color-mix(in srgb, var(--accent) 35%, var(--line));grid-column:span 2}.fs-bento .fs-card:first-child h3{font-size:1.25rem}.fs-bento .fs-card:last-child:nth-child(3n+1){grid-column:span 2}@media (width<=52rem){.fs-bento .fs-grid{grid-template-columns:minmax(0,1fr)}.fs-bento .fs-card:first-child,.fs-bento .fs-card:last-child{grid-column:auto}}.fs-cols{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:3.5rem;display:grid}.fs-side{position:sticky;top:5.5rem}.fs-side .links{flex-direction:column;align-items:flex-start}.fs-list{margin:0;padding:0;list-style:none}.fs-list li{border-bottom:1px solid var(--line);gap:1rem;padding:1.25rem 0;display:flex}.fs-list li:first-child{padding-top:0}.fs-list li:last-child{border-bottom:0}.fs-list li>div{min-width:0}.fs-list p{color:var(--dim);margin:0;font-size:.95rem}@media (width<=52rem){.fs-cols{grid-template-columns:minmax(0,1fr);gap:2rem}.fs-side{position:static}}.fs-band{background:radial-gradient(ellipse 70% 60% at 50% 0%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 70%), var(--bg-soft);border-bottom:1px solid color-mix(in srgb, var(--accent) 25%, var(--line))}.fs-band:before{display:none}.fs-band .fs-head{text-align:center}.fs-band .fs-head .intro{margin-inline:auto}.fs-band .stats{justify-content:center}.fs-band .fs-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.fs-band .fs-card{text-align:center;background:0 0;border-color:#0000;padding:1rem}.fs-band .fs-card .tile{border-radius:50%;width:3rem;height:3rem}.fs-band .links{justify-content:center}.app-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:3rem;display:grid}.badges{flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.badges li{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:999px;padding:.25rem .75rem;font-size:.82rem;font-weight:600}.checks{gap:.55rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.checks li{color:var(--dim);align-items:baseline;gap:.6rem;display:flex}.checks svg{color:var(--accent);flex:none;transform:translateY(2px)}.store{color:var(--muted);margin:0 0 1.25rem;font-size:.9rem}.phone{width:min(19rem,100%);box-shadow:0 30px 90px -30px color-mix(in srgb, var(--accent) 55%, transparent);background:linear-gradient(160deg,#1d2633,#0b0f15);border:1px solid #2a3443;border-radius:2.6rem;justify-self:center;margin:0;padding:.6rem}.phone img{border-radius:2.1rem;display:block}@media (width<=52rem){.app-grid{grid-template-columns:minmax(0,1fr)}}.cli-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2rem;display:flex}.cli-head>div{min-width:0}.cli-head .intro{margin-bottom:0}.term{border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line));box-shadow:0 30px 90px -40px color-mix(in srgb, var(--accent) 65%, transparent);background:#fffdf9;position:relative;overflow:hidden}.term input{opacity:0;pointer-events:none;position:absolute}.term-bar{background:var(--panel-2);border-bottom:1px solid var(--line);align-items:center;gap:.25rem;padding:.55rem .8rem;display:flex}.dots{gap:.4rem;margin-right:.75rem;display:flex}.dots i{background:#3a4352;border-radius:50%;width:.7rem;height:.7rem}.term-bar label{color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:6px;padding:.25rem .7rem;font-size:.82rem}.term img{width:100%;display:none}#shot-transcript:checked~.shot-transcript,#shot-sessions:checked~.shot-sessions{display:block}#shot-transcript:checked~.term-bar label[for=shot-transcript],#shot-sessions:checked~.term-bar label[for=shot-sessions]{color:var(--ink);background:color-mix(in srgb, var(--accent) 22%, transparent)}.term input:focus-visible~.term-bar{outline:2px solid var(--accent);outline-offset:-2px}.cli-points{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.25rem 2rem;margin-top:2rem;display:grid}.cli-points>*{min-width:0}.cli-points>div{grid-column:1/-1;max-width:32rem}.cli-points p{color:var(--dim);margin:0;font-size:.95rem}.cli-points strong{color:var(--ink)}.steps{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.steps li{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:1.25rem;padding:1.1rem 1.25rem;display:grid}.steps .num{width:2.25rem;height:2.25rem;font-family:var(--mono);color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:50%;place-items:center;font-weight:700;display:grid}.steps h3{margin:0 0 .2rem}.steps p{color:var(--dim);margin:0;font-size:.93rem}@media (width<=52rem){.steps li{grid-template-columns:auto minmax(0,1fr)}.steps pre{grid-column:1/-1}}.variant{border-top:1px dashed #2c3646;padding:2.5rem 0 1.5rem}.v-label{font-family:var(--mono);color:var(--warn);margin:0 0 1.5rem;font-size:.85rem}.v-note{color:var(--muted);margin:-1rem 0 0}footer{border-top:1px solid var(--line);color:var(--muted);padding:2.5rem 0 3rem;font-size:.85rem}footer .row{flex-wrap:wrap;gap:1.25rem;margin-bottom:1rem;display:flex}footer .row a{color:var(--dim)}footer p{max-width:48rem;margin:.4rem 0}footer p a{color:var(--dim)}
