.gv-route .gv-map{height:clamp(320px,38vw,400px);margin-top:14px;position:relative}.gv-route .gv-map[data-layout=tall]{height:560px}.gv-route .gv-map>svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.gv-route .gv-wire{fill:none;stroke:var(--line);stroke-width:2px;transition:stroke .3s}.gv-route .gv-wire.gv-audio{stroke-width:3px;stroke-dasharray:2 7;stroke-linecap:round}.gv-route .gv-wire.gv-guard{stroke-dasharray:6 6}.gv-route .gv-wire.is-on{stroke:color-mix(in oklab, var(--accent) 55%, var(--paper))}.gv-route .gv-dot{fill:var(--accent)}.gv-route .gv-node{width:132px;color:var(--ink);font:inherit;text-align:center;cursor:help;z-index:1;background:0 0;border:0;justify-items:center;gap:6px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.gv-route .gv-node .gv-pic{background:var(--paper);border:1.5px solid var(--line);width:58px;height:58px;color:var(--muted);border-radius:50%;place-items:center;transition:border-color .2s,background .2s,transform .2s;display:grid}.gv-route .gv-node .gv-pic svg{width:30px;height:30px}.gv-route .gv-node[data-id=server] .gv-pic,.gv-route .gv-node[data-id=openai] .gv-pic{width:70px;height:70px}.gv-route .gv-node[data-id=server] .gv-pic svg,.gv-route .gv-node[data-id=openai] .gv-pic svg{width:36px;height:36px}.gv-route .gv-node b{font-size:12.5px;font-weight:550;line-height:1.3}.gv-route .gv-node small{color:var(--muted);font-size:11px;line-height:1.35}.gv-route .gv-node.is-on .gv-pic,.gv-route .gv-node:hover .gv-pic,.gv-route .gv-node:focus-visible .gv-pic{border-color:var(--accent);color:var(--accent);background:var(--tint)}.gv-route .gv-node.is-on .gv-pic{transform:scale(1.06)}.gv-route .gv-node:focus-visible{outline:none}.gv-route .gv-node:focus-visible .gv-pic{outline:2px solid var(--accent);outline-offset:3px}.gv-route .gv-node>.db-tip{top:calc(100% + 8px)}.gv-route .gv-node:hover>.db-tip,.gv-route .gv-node:focus-visible>.db-tip{opacity:1;transform:translate(-50%)}.gv-route .gv-node[data-id=browser]>.db-tip{left:0;transform:translateY(4px)}.gv-route .gv-node[data-id=openai]>.db-tip{left:auto;right:0;transform:translateY(4px)}.gv-route .gv-node[data-id=browser]:is(:hover,:focus-visible)>.db-tip,.gv-route .gv-node[data-id=openai]:is(:hover,:focus-visible)>.db-tip{transform:none}.gv-route .gv-map[data-layout=tall] .gv-node{width:100px}.gv-route .gv-map[data-layout=tall] .gv-node b{font-size:11.5px}.gv-route .gv-map[data-layout=tall] .gv-node[data-id=kb]>.db-tip{left:0;transform:translateY(4px)}.gv-route .gv-map[data-layout=tall] .gv-node[data-id=card]>.db-tip{left:auto;right:0;transform:translateY(4px)}.gv-route .gv-map[data-layout=tall] .gv-node:is([data-id=kb],[data-id=card]):is(:hover,:focus-visible)>.db-tip{transform:none}.gv-route .gv-map[data-layout=tall] .gv-node:is([data-id=kb],[data-id=company],[data-id=card])>.db-tip{top:auto;bottom:calc(100% + 8px)}.gv-route .gv-map[data-layout=tall] .gv-node:is([data-id=browser],[data-id=server])>.db-tip{left:0;right:auto;transform:translateY(4px)}.gv-route .gv-map[data-layout=tall] .gv-node:is([data-id=openai],[data-id=guard])>.db-tip{left:auto;right:0;transform:translateY(4px)}.gv-route .gv-map[data-layout=tall] .gv-node:is([data-id=browser],[data-id=server],[data-id=openai],[data-id=guard]):is(:hover,:focus-visible)>.db-tip{transform:none}.gv-route .gv-phase{min-height:3em;color:var(--ink);text-align:center;margin:6px 0 0;font-size:13.5px;line-height:1.5}.wide-figure.gv-sim .figure-top{flex-wrap:wrap;row-gap:6px}.gv-sim .gv-flag{color:var(--muted);letter-spacing:.3px;text-transform:uppercase;align-items:center;gap:7px;font:10px ui-monospace,Consolas,monospace;display:inline-flex}.gv-sim .gv-flag i{background:var(--signal,var(--accent));border-radius:50%;width:6px;height:6px}.gv-sim .gv-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;margin-top:16px;display:grid}.gv-sim .gv-call{border:1px solid var(--line);background:var(--paper);border-radius:18px;flex-direction:column;gap:12px;min-width:0;padding:18px 16px 16px;display:flex}.gv-sim .gv-head{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font:500 12px ui-monospace,Consolas,monospace;display:flex}.gv-sim .gv-lang{border:1px solid var(--line);color:var(--ink);border-radius:99px;padding:2px 8px}.gv-sim .gv-stage{justify-items:center;gap:8px;display:grid}.gv-sim .gv-orb{--s:120px;width:var(--s);height:var(--s);border-radius:50%;position:relative;overflow:visible}.gv-sim .gv-orb .gv-orb-css{background:radial-gradient(120% 70% at 55% 105%,#fbf3e8 0 45%,#f1dcc0 55%,#0000 72%),linear-gradient(160deg,#7a3a14,#b87333 70%);border-radius:50%;animation:5s ease-in-out infinite gv-breathe;position:absolute;inset:0}.gv-sim .gv-orb[data-state=listening] .gv-orb-css{animation:1.4s ease-in-out infinite gv-pulse}.gv-sim .gv-orb[data-state=thinking] .gv-orb-css{animation:1.2s ease-in-out infinite gv-breathe}.gv-sim .gv-orb[data-state=speaking] .gv-orb-css{animation:.9s ease-in-out infinite gv-talk}.gv-sim .gv-orb canvas{width:calc(var(--s) * 1.04);height:calc(var(--s) * 1.04);display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gv-sim .gv-orb.gv-orb-gl canvas{display:block}.gv-sim .gv-orb.gv-orb-gl .gv-orb-css{display:none}.gv-sim .gv-orb:after{content:"";border:2px solid color-mix(in oklab, var(--signal,var(--accent)) 45%, transparent);opacity:0;pointer-events:none;border-radius:50%;transition:opacity .3s,transform .3s;position:absolute;inset:-10px;transform:scale(.92)}.gv-sim .gv-orb[data-state=listening]:after{opacity:1;transform:scale(1)}.gv-sim .gv-state{min-height:1.4em;color:var(--muted);margin:0;font-size:12.5px}.gv-sim .gv-caption{max-width:34em;min-height:3.2em;color:var(--ink);text-align:center;margin:0;font-size:15px;line-height:1.55}.gv-sim .gv-sources{flex-wrap:wrap;justify-content:center;gap:6px;min-height:0;display:flex}.gv-sim .gv-source{border:1px solid color-mix(in oklab, var(--accent) 30%, var(--paper));background:var(--tint);max-width:220px;animation:gv-in .4s var(--ease) both;animation-delay:calc(var(--i) * .12s);text-align:left;border-radius:10px;gap:1px;padding:6px 11px;display:grid}.gv-sim .gv-source small{letter-spacing:.5px;text-transform:uppercase;color:var(--muted);font-size:9.5px}.gv-sim .gv-source b{color:var(--accent);font-size:12px;font-weight:550;line-height:1.35}.gv-sim .gv-card{border:1px solid color-mix(in oklab, var(--signal,var(--accent)) 50%, var(--line));background:var(--card);width:100%;max-width:420px;animation:gv-in .45s var(--ease) both;border-radius:14px;margin:0 auto;padding:14px 16px}.gv-sim .gv-card-title{color:var(--ink);margin:0;font-size:14px;font-weight:600}.gv-sim .gv-card-note{color:var(--muted);margin:2px 0 10px;font-size:12px;line-height:1.45}.gv-sim .gv-fields{gap:6px;margin:0 0 12px;display:grid}.gv-sim .gv-field{grid-template-columns:96px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.gv-sim .gv-field dt{color:var(--muted);font-size:11.5px}.gv-sim .gv-field dd{border:1px solid var(--line);background:var(--paper);min-height:1.4em;color:var(--ink);overflow-wrap:anywhere;border-radius:7px;margin:0;padding:3px 8px;font-size:12.5px;line-height:1.4}.gv-sim .gv-send{background:var(--ink);min-height:36px;color:var(--paper);font:600 12.5px var(--font-body,inherit);cursor:default;border:0;border-radius:99px;margin-left:auto;padding:0 16px;transition:transform .16s,background .3s;display:block}.gv-sim .gv-send.is-press{transform:scale(.94)}.gv-sim .gv-send.is-sent{background:var(--accent)}.gv-sim .gv-thread{border-top:1px solid var(--line);scrollbar-width:thin;flex-direction:column;gap:8px;max-height:210px;padding:10px 2px 2px;display:flex;overflow-y:auto}.gv-sim .gv-line{gap:1px;max-width:92%;display:grid}.gv-sim .gv-line small{letter-spacing:.5px;text-transform:uppercase;color:var(--muted);font-size:10px}.gv-sim .gv-line p{color:var(--body);margin:0;font-size:13px;line-height:1.5}.gv-sim .gv-line.gv-user{text-align:right;align-self:flex-end}.gv-sim .gv-line.gv-user p{color:var(--ink)}.gv-sim .gv-summary{background:var(--faint);border:1px solid var(--line);animation:gv-in .45s var(--ease) both;border-radius:12px;padding:12px 14px}.gv-sim .gv-summary p{color:var(--body);margin:0;font-size:13px;line-height:1.55}.gv-sim .gv-summary .gv-summary-title{letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:11px}.gv-sim .gv-side{border:1px solid var(--line);background:var(--paper);border-radius:18px;min-width:0;padding:16px 16px 10px}.gv-sim .gv-side-title{letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:10px}.gv-sim .gv-log{scrollbar-width:thin;max-height:470px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.gv-sim .gv-log-row{border-top:1px solid var(--line);animation:gv-in .35s var(--ease) both;grid-template-columns:38px minmax(0,1fr);column-gap:8px;padding:8px 0;display:grid}.gv-sim .gv-log-row:first-child{border-top:0}.gv-sim .gv-log-row time{color:var(--muted);grid-row:span 2;font:500 10.5px/1.7 ui-monospace,Consolas,monospace}.gv-sim .gv-log-row b{color:var(--ink);font-size:12.5px;font-weight:600}.gv-sim .gv-log-row span{color:var(--muted);font-size:11.5px;line-height:1.5}.gv-sim .gv-log-row.is-tool b{color:var(--accent)}.gv-sim .gv-log-row.is-guard b{color:var(--signal,var(--accent))}.gv-sim .gv-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.gv-sim .gv-note{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.gv-sim .gv-actions{flex-wrap:wrap;gap:8px;display:flex}.gv-sim .gv-replay{border:1px solid var(--line);background:var(--paper);min-height:40px;color:var(--ink);font:500 13px var(--font-body,inherit);cursor:pointer;border-radius:99px;padding:0 16px}.gv-sim .gv-replay[hidden]{display:none}.gv-sim .gv-replay:focus-visible,.gv-cta-block .gv-cta:focus-visible,.gv-sim .gv-cta:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.gv-cta-block .gv-cta,.gv-sim .gv-cta{background:var(--ink);min-height:40px;color:var(--paper);border-radius:99px;align-items:center;padding:0 18px;font-size:13.5px;font-weight:600;text-decoration:none;transition:transform .16s;display:inline-flex}.gv-cta-block .gv-cta:hover,.gv-sim .gv-cta:hover{transform:translateY(-1px)}p.gv-cta-block.gv-cta-block{margin:26px 0 8px}.gv-sim .gv-clock{border-radius:99px;padding:2px 8px;transition:color .3s,background .3s}.gv-sim .gv-clock.is-soon{color:var(--paper);background:var(--signal,var(--accent))}.gv-sim .gv-card-done{color:var(--accent);margin:6px 0 0;font-size:13px;line-height:1.5}.gv-sim .gv-disclosure{color:var(--muted);text-align:center;margin:0;font-size:11px;line-height:1.5}.gv-cta-block .gv-link{color:var(--accent);text-underline-offset:3px;margin-left:14px;font-size:14px}.gv-cta-block .gv-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}@keyframes gv-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes gv-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes gv-pulse{0%,to{transform:scale(.97)}50%{transform:scale(1.07)}}@keyframes gv-talk{0%,to{transform:scale(1)}25%{transform:scale(1.06,.98)}60%{transform:scale(.98,1.05)}}@media (max-width:860px){.gv-sim .gv-grid{grid-template-columns:minmax(0,1fr)}.gv-sim .gv-log{max-height:280px}}@media (max-width:420px){.gv-sim .gv-orb{--s:96px}.gv-sim .gv-field{grid-template-columns:minmax(0,1fr);gap:2px}.gv-route .gv-node small{display:none}}@media (prefers-reduced-motion:reduce){.gv-sim .gv-orb .gv-orb-css,.gv-sim .gv-source,.gv-sim .gv-card,.gv-sim .gv-summary,.gv-sim .gv-log-row{animation:none}.gv-route .gv-node .gv-pic,.gv-sim .gv-send{transition:none}}
