

.lv-k{
  font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mono-label);
}
.lv-fine{font-size:.8125rem;color:var(--steel-light);margin:.75rem 0 0;line-height:1.5}
.lv-fine a{color:var(--rust);text-decoration-color:var(--hazard)}
.lv-note{font-size:.875rem;color:var(--steel);margin:.9rem 0 0;max-width:var(--measure)}
code{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}

.lv-tiles{
  display:grid;gap:2px;grid-template-columns:repeat(2,minmax(0,1fr));
  background:var(--line);border:2px solid var(--iron);
}

@media (min-width:40rem){.lv-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.lv-tile{
  display:flex;flex-direction:column;gap:.35rem;min-width:0;
  padding:clamp(.85rem,2.5vw,1.1rem) clamp(.8rem,2.5vw,1.2rem);background:var(--paper);
}
.lv-v{
  font-variation-settings:"wdth" 118,"wght" 800;
  font-size:clamp(1.45rem,5.6vw,2.3rem);line-height:1.05;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
.lv-v-sm{font-size:clamp(1.05rem,3.6vw,1.35rem);line-height:1.2;letter-spacing:0}
.lv-s{font-size:.8125rem;color:var(--steel-light);line-height:1.4;overflow-wrap:anywhere}
.lv-hero{background:var(--iron);color:var(--on-iron);grid-column:1 / -1}
@media (min-width:40rem){.lv-tiles .lv-hero{grid-column:auto;grid-row:span 2;justify-content:center}}
.lv-hero .lv-k,.lv-hero .lv-s{color:var(--on-iron);opacity:.78}
.lv-hero .lv-v{font-size:clamp(2.4rem,7vw,3.8rem)}

.lv-water{margin-top:1.5rem}
.lv-bars{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.lv-bars li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .75rem;align-items:baseline}
.lv-bars .n{font-variation-settings:"wdth" 100,"wght" 600;font-size:.9375rem}
.lv-bars .c{font-variant-numeric:tabular-nums;font-size:.875rem;color:var(--steel)}
.lv-bars .track{grid-column:1 / -1;position:relative;height:.6rem;background:var(--chip-bg);outline:1px solid var(--line);outline-offset:-1px}
.lv-bars .seg{position:absolute;top:0;bottom:0;background:var(--iron)}
.lv-bars .s3{background:var(--hazard)}

.lv-globe-wrap{display:grid;gap:clamp(1.5rem,4vw,3rem);align-items:start}
@media (min-width:56rem){.lv-globe-wrap{grid-template-columns:minmax(0,520px) minmax(0,1fr)}}
.lv-globe{margin:0}
.lv-globe-stage{position:relative;width:100%;max-width:720px}
.lv-globe canvas{display:block;max-width:100%;touch-action:none;cursor:grab}
.lv-zoom{position:absolute;right:.4rem;bottom:.4rem;display:flex;flex-direction:column;border:2px solid var(--iron);background:var(--paper);box-shadow:0 6px 18px rgba(0,0,0,.25)}
.lv-zoom button{width:2.4rem;height:2.4rem;border:0;background:transparent;color:var(--iron);font:600 1.15rem/1 "IBM Plex Mono",ui-monospace,monospace;cursor:pointer}
.lv-zoom button + button{border-top:1px solid var(--line)}
.lv-zoom button:hover{background:var(--hazard);color:var(--on-iron)}
.lv-globe canvas:active{cursor:grabbing}
.lv-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--line);border:2px solid var(--iron)}
.lv-mini > div{background:var(--paper);padding:.7rem .8rem;display:flex;flex-direction:column;gap:.2rem;min-width:0}
.lv-mini b{font-variation-settings:"wdth" 118,"wght" 800;font-weight:normal;font-size:clamp(1.3rem,4.5vw,1.9rem);line-height:1;font-variant-numeric:tabular-nums}
.lv-people{list-style:none;margin:1rem 0 0;padding:0;border-top:2px solid var(--iron)}
.lv-people li{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.1rem .75rem;
  padding:.6rem 0;border-bottom:1px solid var(--line);
}
.lv-people .who{font-variation-settings:"wdth" 100,"wght" 600;overflow-wrap:anywhere}
.lv-people .who::before{content:"";display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--hazard);margin-right:.5rem;vertical-align:.05rem}
.lv-people .pg{grid-column:1;font-size:.8125rem;color:var(--steel);font-family:"IBM Plex Mono",ui-monospace,monospace}
.lv-people .ago{grid-row:1;grid-column:2;font-size:.8125rem;color:var(--steel-light);font-variant-numeric:tabular-nums}
.lv-people .more{color:var(--steel);font-size:.875rem;display:block}
.lv-people:empty::after{content:"Nobody but you, which the next poll will fix.";display:block;padding:.7rem 0;color:var(--steel);font-size:.9375rem}

.lv-bill{display:grid;gap:clamp(1.25rem,3vw,2.5rem);align-items:start}
@media (min-width:40rem){.lv-bill{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}}
.lv-bill .lv-hero{border:2px solid var(--iron);grid-column:auto}
.lv-svc{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.lv-svc li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .75rem;align-items:baseline}
.lv-svc .n{font-variation-settings:"wdth" 100,"wght" 600;font-size:.9375rem}
.lv-svc .c{font-variant-numeric:tabular-nums;font-size:.875rem;color:var(--steel)}
.lv-svc .bar{grid-column:1 / -1;height:.55rem;background:var(--chip-bg);outline:1px solid var(--line);outline-offset:-1px}
.lv-svc .bar span{display:block;height:100%;background:var(--iron);width:0}
.lv-svc li:first-child .bar span{background:var(--hazard)}
@media (prefers-reduced-motion:no-preference){.lv-svc .bar span{transition:width .7s cubic-bezier(.2,.7,.2,1)}}

.lv-diagram-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:2px solid var(--iron);background:var(--paper)}
.lv-diagram-scroll:focus-visible{outline:2px solid var(--hazard);outline-offset:3px}
.lv-diagram{display:block;width:100%;min-width:680px;height:auto}
.lv-diagram text{
  fill:var(--iron);text-anchor:middle;
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-size:15px;
  font-variation-settings:"wdth" 104,"wght" 700;
}
.lv-diagram .lv-sub{
  fill:var(--steel);font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11px;font-variation-settings:normal;
}
.lv-diagram .lv-legend-t{text-anchor:start}
.lv-node rect{fill:var(--ground);stroke:var(--iron);stroke-width:2}
.lv-node-key rect{fill:var(--iron)}
.lv-node-key text{fill:var(--on-iron)}
.lv-node-key .lv-sub{fill:var(--on-iron);opacity:.8}
.lv-node-dim rect{stroke:var(--line-strong);stroke-dasharray:4 3}
.lv-edges path{fill:none;stroke:var(--line-strong);stroke-width:2;marker-end:url(#lv-arrow)}
.lv-arrowhead{fill:var(--line-strong)}
.lv-pulse{fill:var(--hazard)}

.ak{display:grid;gap:2px;background:var(--line);border:2px solid var(--iron)}
@media (min-width:62rem){.ak{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
.ak-chat,.ak-trace{background:var(--paper);min-width:0;display:flex;flex-direction:column}
.ak-head{
  display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;
  padding:.6rem .9rem;border-bottom:2px solid var(--iron);
}
.ak-head .lv-k{color:var(--iron)}
.ak-log{
  padding:1rem clamp(.85rem,2.5vw,1.25rem);display:flex;flex-direction:column;gap:1rem;
  min-height:18rem;max-height:min(62vh,40rem);overflow-y:auto;overscroll-behavior:contain;
}
.ak-msg{max-width:100%}
.ak-msg .who{display:block;margin-bottom:.25rem}
.ak-msg.user{align-self:flex-end;max-width:85%;background:var(--iron);color:var(--on-iron);padding:.6rem .85rem}
.ak-msg.user .who{display:none}
.ak-msg.bot p{margin:0 0 .6rem}
.ak-msg.bot p:last-child{margin-bottom:0}
.ak-msg.bot ul{margin:.2rem 0 .6rem;padding-left:1.2rem}
.ak-msg.bot a{color:var(--rust);text-decoration-color:var(--hazard);overflow-wrap:anywhere}
.ak-msg.err{color:var(--rust)}
.ak-cursor{display:inline-block;width:.5ch;height:1em;background:var(--hazard);vertical-align:-.12em;margin-left:1px}
@media (prefers-reduced-motion:no-preference){.ak-cursor{animation:ak-blink 1s steps(1) infinite}}
@keyframes ak-blink{50%{opacity:0}}
.ak-suggest{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 clamp(.85rem,2.5vw,1.25rem) .9rem}
.ak-suggest button{
  font:inherit;font-size:.8125rem;padding:.35rem .65rem;cursor:pointer;
  background:var(--chip-bg);color:var(--iron);border:1px solid var(--line-strong);border-radius:999px;
}
.ak-suggest button:hover{background:var(--chip-bg-hover);border-color:var(--hazard)}
.ak-form{display:flex;gap:0;border-top:2px solid var(--iron);margin-top:auto}
.ak-form textarea{
  flex:1;min-width:0;font:inherit;font-size:1rem;resize:none;border:0;padding:.8rem .9rem;
  background:var(--ground);color:var(--iron);min-height:3.2rem;max-height:9rem;
}
.ak-form textarea:focus-visible{outline:2px solid var(--hazard);outline-offset:-2px}
.ak-form button{
  font:inherit;font-variation-settings:"wdth" 104,"wght" 700;padding:0 1.1rem;border:0;cursor:pointer;
  background:var(--iron);color:var(--on-iron);
}
.ak-form button:hover:not(:disabled){background:var(--hazard)}
.ak-form button:disabled{opacity:.55;cursor:default}
.ak-clear{font:inherit;font-size:.75rem;background:none;border:0;color:var(--steel);cursor:pointer;text-decoration:underline;text-underline-offset:3px}

.ak-steps{list-style:none;margin:0;padding:.8rem clamp(.85rem,2.5vw,1.1rem);display:flex;flex-direction:column;gap:.55rem;
  max-height:min(62vh,40rem);overflow-y:auto;min-height:10rem;font-size:.875rem}
.ak-steps:empty::after{content:"Ask something. Every step the agent takes shows up here as it happens.";color:var(--steel);display:block}
.ak-step{border-left:3px solid var(--line-strong);padding:.15rem 0 .2rem .65rem}
.ak-step .h{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}
.ak-step .h b{font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:500;font-size:.8125rem;overflow-wrap:anywhere}
.ak-step .ms{font-variant-numeric:tabular-nums;color:var(--steel-light);font-size:.75rem;white-space:nowrap}
.ak-step .d{color:var(--steel);font-size:.8125rem;margin-top:.15rem;overflow-wrap:anywhere}
.ak-step .d code{color:var(--iron)}
.ak-step.tool{border-left-color:var(--hazard)}
.ak-step.pending .ms::after{content:"running…"}
.ak-step.think .d{font-style:italic;white-space:pre-wrap;max-height:6.5rem;overflow:auto}
.ak-step.done{border-left-color:var(--iron)}
.ak-meter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:var(--line);border-top:2px solid var(--iron);margin-top:auto}
.ak-meter > div{background:var(--paper);padding:.55rem .8rem;display:flex;flex-direction:column;gap:.1rem;min-width:0}
.ak-meter b{font-variation-settings:"wdth" 110,"wght" 750;font-weight:normal;font-size:1.05rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ak-suggest[hidden],.ak-clear[hidden]{display:none}

.ak-mic{position:relative;flex:none;width:3.2rem;border:0;border-left:2px solid var(--iron);background:var(--paper);color:var(--iron);cursor:pointer;display:grid;place-items:center}
.ak-mic svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:1}
.ak-mic:hover{color:var(--hazard)}
.ak-mic.is-listening{background:var(--hazard);color:var(--on-iron)}
.ak-mic-rings{position:absolute;inset:0;pointer-events:none}
@media (prefers-reduced-motion:no-preference){
  .ak-mic.is-listening .ak-mic-rings{animation:ak-rings 1.2s ease-out infinite;box-shadow:inset 0 0 0 0 rgba(255,255,255,.6)}
}
@keyframes ak-rings{from{box-shadow:inset 0 0 0 0 rgba(255,255,255,.55)}to{box-shadow:inset 0 0 0 1.6rem rgba(255,255,255,0)}}
.ak-speaker{display:inline-flex;align-items:center;gap:.35rem;font:inherit;font-size:.75rem;padding:.2rem .55rem;border:1px solid var(--line-strong);background:transparent;color:var(--steel);cursor:pointer;border-radius:999px;margin-left:auto;margin-right:.6rem}
.ak-speaker svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ak-speaker[aria-pressed="true"]{color:var(--iron);border-color:var(--hazard)}
.ak-speaker.is-speaking{background:var(--hazard);color:var(--on-iron);border-color:var(--hazard)}
.ak-msg.bot.is-speaking .who::after{content:"";display:inline-block;width:1.4rem;height:.7rem;margin-left:.4rem;vertical-align:-.05rem;
  background:linear-gradient(var(--hazard),var(--hazard)) 0 100%/3px 40% no-repeat,linear-gradient(var(--hazard),var(--hazard)) 6px 100%/3px 90% no-repeat,
  linear-gradient(var(--hazard),var(--hazard)) 12px 100%/3px 60% no-repeat,linear-gradient(var(--hazard),var(--hazard)) 18px 100%/3px 80% no-repeat}
@media (prefers-reduced-motion:no-preference){.ak-msg.bot.is-speaking .who::after{animation:ak-eq .6s steps(3) infinite alternate}}
@keyframes ak-eq{to{background-size:3px 90%,3px 30%,3px 100%,3px 45%}}
.ak-step.voice{border-left-color:#2FA35B}
.ak-voice-hint{margin:0;padding:.55rem clamp(.85rem,2.5vw,1.25rem);font-size:.8125rem;color:var(--hazard);border-top:1px solid var(--line)}

.lv-edgefn{display:flex;gap:.8rem;align-items:flex-start;margin-top:1rem;padding:.85rem 1rem;border:2px solid var(--iron);
  background:linear-gradient(100deg,color-mix(in srgb,var(--hazard) 14%,var(--paper)),var(--paper) 55%)}
.lv-edgefn[hidden]{display:none}
.lv-edgefn svg{width:1.5rem;height:1.5rem;flex:none;fill:var(--hazard);margin-top:.1rem}
.lv-edgefn p{margin:0;font-size:.9375rem;max-width:var(--measure)}
.lv-bars .track.is-skipped{background:repeating-linear-gradient(-45deg,transparent 0 6px,var(--line) 6px 7px);height:1.1rem;display:flex;align-items:center;padding-left:.5rem}
.lv-bars .skip-t{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.6875rem;color:var(--steel-light)}

.lv-legend{margin-top:1.4rem;padding:1.1rem 1.2rem;border:2px solid var(--line-strong);background:var(--paper);background-image:var(--paper-light),var(--grain);box-shadow:var(--lift)}
.lv-legend h3{margin:0 0 .6rem;font-size:.9375rem;font-variation-settings:"wdth" 108,"wght" 700}
.lv-legend h3 + .lg-sats{margin-top:0}
.lg-keys{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;grid-template-columns:1fr;gap:.45rem;font-size:.875rem;color:var(--steel)}
@media (min-width:30rem){.lg-keys{grid-template-columns:1fr 1fr}}
.lg-keys li{display:flex;align-items:center;gap:.6rem}
.lg-sw{flex:none;width:26px;height:16px;position:relative;display:inline-block}
.lg-visitor::before{content:"";position:absolute;left:8px;top:3px;width:10px;height:10px;border-radius:50%;background:#ff6a2a;box-shadow:0 0 0 3px rgba(255,106,42,.3)}
.lg-edge::before{content:"";position:absolute;left:8px;top:3px;width:10px;height:10px;background:#f2efea;border:1px solid #6b737b}
.lg-arc{background:radial-gradient(18px 14px at 50% 100%,transparent 9px,#ff7a3a 9.5px,#ff7a3a 11px,transparent 11.5px)}
.lg-station{background:linear-gradient(#e9ecef,#e9ecef) 50% 50%/22px 2px no-repeat,linear-gradient(#2c58b4,#2c58b4) 4px 2px/4px 12px no-repeat,linear-gradient(#2c58b4,#2c58b4) 18px 2px/4px 12px no-repeat}
.lg-sat{background:linear-gradient(#d8b25a,#d8b25a) 50% 50%/6px 6px no-repeat,linear-gradient(#2a55b0,#2a55b0) 3px 50%/7px 4px no-repeat,linear-gradient(#2a55b0,#2a55b0) 16px 50%/7px 4px no-repeat}
.lg-track{background:repeating-linear-gradient(90deg,#9cc2ff 0 4px,transparent 4px 7px) 0 50%/100% 2px no-repeat}
.lg-day{border-radius:3px;background:linear-gradient(90deg,#3b78c4 0 45%,#0b1424 60% 100%)}
.lg-lights{border-radius:3px;background:#0b1424 radial-gradient(circle at 30% 40%,#ffd28c 0 1.5px,transparent 2px) ,#0b1424 radial-gradient(circle at 65% 65%,#ffb468 0 1.5px,transparent 2px)}
.lg-lights{background:radial-gradient(circle at 30% 40%,#ffd28c 0 1.6px,transparent 2.2px),radial-gradient(circle at 62% 64%,#ffb468 0 1.4px,transparent 2px),radial-gradient(circle at 80% 30%,#ffd28c 0 1.2px,transparent 1.8px),#0b1424}
.lg-sats{width:100%;border-collapse:collapse;font-size:.8125rem;font-variant-numeric:tabular-nums}
.lg-sats th{text-align:left;font-weight:500;color:var(--steel-light);font-size:.75rem;padding:.2rem .4rem .35rem 0;border-bottom:1px solid var(--line-strong)}
.lg-sats td{padding:.32rem .4rem .32rem 0;border-bottom:1px solid var(--line);color:var(--iron)}
.lg-sats td:nth-child(2),.lg-sats th:nth-child(2){text-align:right;white-space:nowrap}
.lg-sats td:nth-child(3){color:var(--steel);font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.75rem}
.lg-sats tr.is-crewed td:first-child{font-variation-settings:"wdth" 100,"wght" 700}
.lg-sats tr.is-crewed td:first-child::after{content:" crewed";font-size:.6875rem;color:var(--rust);font-variation-settings:"wdth" 100,"wght" 500}
.lg-more{border-top:1px solid var(--line-strong);padding-top:.7rem}
.lg-more summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-variation-settings:"wdth" 108,"wght" 700;color:var(--iron)}
.lg-more summary::-webkit-details-marker{display:none}
.lg-more summary::before{content:"";width:8px;height:8px;border-right:2px solid var(--hazard);border-bottom:2px solid var(--hazard);transform:rotate(-45deg);transition:transform .15s ease}
.lg-more[open] summary::before{transform:rotate(45deg)}
.lg-more summary:focus-visible{outline:3px solid var(--hazard);outline-offset:3px}
.lg-n{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.75rem;font-weight:500;color:var(--steel-light)}
.lg-more[open] .lg-sats{margin-top:.6rem}
.lg-keys{margin-bottom:.9rem}

.lv-tiles > .lv-tile:nth-child(n+4){min-height:8.4375rem}
.lv-edgefn{min-height:15.9rem}
@media (min-width:40rem){.lv-edgefn{min-height:8.125rem}}
.lv-edgefn.is-waiting p{color:var(--steel-light)}
.lv-svc:empty{min-height:20.25rem}
#lv-perview{min-height:3em}
.lv-people{min-height:4.5rem}

.lv-globe-stage.is-3d{isolation:isolate}
.lv-globe-stage.is-3d::before{
  content:"";position:absolute;inset:-6%;z-index:-1;pointer-events:none;opacity:.35;
  background:
    radial-gradient(closest-side,#050a18 0%,#040815 55%,rgba(3,6,14,.85) 75%,rgba(3,6,14,0) 100%),
    radial-gradient(60% 40% at 30% 65%,rgba(90,70,180,.30),rgba(90,70,180,0) 70%),
    radial-gradient(45% 35% at 72% 30%,rgba(40,110,170,.24),rgba(40,110,170,0) 70%);
  -webkit-mask-image:radial-gradient(closest-side,#000 55%,rgba(0,0,0,.6) 78%,transparent 100%);
          mask-image:radial-gradient(closest-side,#000 55%,rgba(0,0,0,.6) 78%,transparent 100%);
}
.lv-globe-stage.is-3d canvas{position:relative;z-index:0}

:root[data-theme="light"] .lv-globe-stage.is-3d{
  border:2px solid var(--iron);overflow:hidden;background:#050a18;
  box-shadow:0 18px 40px rgba(23,25,27,.22),inset 0 0 70px rgba(0,0,0,.55);
}
:root[data-theme="light"] .lv-globe-stage.is-3d::before{
  inset:0;opacity:1;-webkit-mask-image:none;mask-image:none;
  background:
    radial-gradient(60% 45% at 30% 68%,rgba(90,70,180,.28),rgba(90,70,180,0) 70%),
    radial-gradient(45% 35% at 72% 28%,rgba(40,110,170,.22),rgba(40,110,170,0) 70%),
    radial-gradient(closest-side,#07102a 0%,#050a18 70%,#03060e 100%);
}
:root[data-theme="light"] .lv-globe-stage.is-3d .lv-zoom{right:.6rem;bottom:.6rem;border-color:var(--paper);box-shadow:0 6px 18px rgba(0,0,0,.5)}
