/* Starvac: an animated, illustrative account export. */
.integration-hero{margin:0 var(--gutter);padding:28px clamp(24px,3.6vw,64px) 18px;background:var(--surface);border:1px solid var(--line-soft);position:relative;isolation:isolate}
.integration-hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;background-image:radial-gradient(var(--line) .8px,transparent .8px);background-size:18px 18px;mask-image:linear-gradient(transparent,#000 30%,#000 60%,transparent);pointer-events:none}
.flow-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.flow-heading>.small-label{color:var(--muted);letter-spacing:.08em;font-size:10px}
.flow-playback{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 0 8px 14px;background:none;color:var(--muted);font-size:11px}
.flow-playback:hover{color:var(--ink)}
.flow-playback-icon{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;font-size:12px;color:var(--ink)}
.integration-flow{display:grid;grid-template-columns:minmax(0,1fr) minmax(36px,.38fr) minmax(0,1fr) minmax(36px,.38fr) minmax(0,1fr);align-items:start;max-width:1320px;margin:30px auto 36px}
.flow-station{min-width:0;text-align:center}
.flow-mark{height:164px;position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:28px;isolation:isolate}
.flow-mark img{width:clamp(90px,10vw,144px);height:76px;object-fit:contain;position:relative}
.flow-mark .flow-logo-light{display:none}
[data-theme="light"] .flow-mark .flow-logo-light{display:block}
[data-theme="light"] .flow-mark .flow-logo-dark{display:none}
.flow-mapper .flow-mark img{width:clamp(100px,11vw,152px);height:85px}
.flow-target .flow-mark img{width:clamp(80px,9vw,126px);height:126px}
.flow-halo{position:absolute;width:164px;aspect-ratio:1;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent);border-radius:50%;opacity:0;z-index:-1}
.flow-orbit{position:absolute;width:178px;aspect-ratio:1;border:1px dashed var(--line);border-radius:50%;z-index:-1}
.flow-orbit::before,.flow-orbit::after{content:"";width:5px;height:5px;background:var(--accent);border-radius:50%;position:absolute;left:50%;top:-3px}
.flow-orbit::after{top:auto;bottom:-3px}
.flow-step{display:block;font:9px/1.5 'JetBrains Mono',monospace;letter-spacing:.08em;color:var(--muted);margin-bottom:9px}
.flow-station h3{font-size:clamp(18px,1.7vw,26px);font-weight:400;letter-spacing:-.035em;line-height:1.25;margin-bottom:22px}
.flow-record{border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;min-height:124px;padding:13px 0}
.flow-field{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;line-height:1.5;min-height:31px}
.flow-field>span{color:var(--muted);font-size:11px}
.flow-field b{font-weight:400;text-align:right;white-space:nowrap}
.flow-transform b{display:flex;gap:8px;align-items:center}
.flow-transform i{font-style:normal;color:var(--muted)}
.flow-transform em{display:inline-block;font:11px/1.5 'JetBrains Mono',monospace;color:var(--accent);border:1px solid var(--line);padding:1px 6px}
.flow-role{font-size:11px;line-height:1.5;color:var(--muted);margin-top:15px}
.flow-connection{--flow-progress:0;position:relative;height:1px;margin:82px 12px 0;background:var(--line);min-width:0}
.flow-connection-label{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);font:8px/1.5 'JetBrains Mono',monospace;letter-spacing:.05em;color:var(--muted)}
.flow-arrow{position:absolute;right:-2px;top:50%;transform:translateY(-54%);font-size:20px;color:var(--muted)}
.flow-packet{position:absolute;left:calc(var(--flow-progress)*100%);top:50%;width:8px;height:8px;border-radius:2px;background:var(--accent);box-shadow:0 0 16px color-mix(in srgb,var(--accent) 50%,transparent);transform:translate(-50%,-50%) rotate(45deg);opacity:0}
.flow-file-header{display:flex;gap:11px;align-items:center}
.flow-file-icon{display:grid;place-items:center;flex:0 0 30px;height:36px;border:1px solid var(--line);font:8px 'JetBrains Mono',monospace;color:var(--accent);border-radius:2px 8px 2px 2px}
.flow-file-header b{font-size:12px;font-weight:400;line-height:1.5}
.flow-file-header small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.flow-file code{display:block;font:11px/1.6 'JetBrains Mono',monospace;margin:11px 0 8px;white-space:nowrap;color:var(--muted)}
.flow-ready{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--accent)}
.flow-ready i{font-style:normal}
.flow-caption{display:flex;justify-content:space-between;gap:24px;align-items:baseline;border-top:1px solid var(--line-soft);padding-top:22px}
.flow-caption p{font-size:clamp(16px,1.65vw,24px);letter-spacing:-.025em;line-height:1.5}
.flow-caption p span{color:var(--muted)}
.flow-sample-note{font:9px/1.6 'JetBrains Mono',monospace;color:var(--muted);text-align:right}
.flow-credits{margin-top:14px;color:var(--muted);font-size:9px;line-height:1.7}
.flow-credits summary{cursor:pointer;width:fit-content}
.flow-credits p{padding-top:8px;max-width:620px}
.flow-credits a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1600px){.integration-flow{margin-top:40px;margin-bottom:46px}.flow-mark{height:180px}.flow-connection{margin-top:90px}.flow-field{font-size:13px;min-height:33px}.flow-field>span{font-size:11px}.flow-file-header b{font-size:13px}.flow-file code{font-size:11px}.flow-record{min-height:130px}}
@media(max-width:1000px) and (min-width:761px){.integration-flow{grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr) 30px minmax(0,1fr)}.flow-connection{margin-inline:3px}.flow-connection-label{font-size:7px;letter-spacing:0}.flow-halo{width:135px}.flow-orbit{width:148px}.flow-field{gap:4px;font-size:10px}.flow-field>span{font-size:9px}.flow-file-header{gap:6px}.flow-file-header small{font-size:8px}.flow-file code{font-size:8px}.flow-file-icon{flex-basis:24px}.flow-transform b{gap:5px}}
@media(max-width:760px){
  .integration-hero{padding:17px 20px 16px}
  .flow-heading{gap:10px}.flow-heading>.small-label{font-size:8px}.flow-playback{font-size:9px;gap:6px;padding-left:0}.flow-playback-icon{width:23px;height:23px}
  .integration-flow{grid-template-columns:minmax(0,1fr);margin:26px auto 28px;max-width:450px}
  .flow-station{display:grid;grid-template-columns:84px minmax(0,1fr);column-gap:20px;align-items:center;text-align:left}
  .flow-mark{height:96px;margin:0;grid-column:1;grid-row:1}
  .flow-mark img,.flow-mapper .flow-mark img{width:76px;height:54px}.flow-target .flow-mark img{width:66px;height:66px}
  .flow-halo{width:91px}.flow-orbit{width:98px}
  .flow-step{font-size:8px;margin-bottom:5px}.flow-station h3{font-size:20px;margin-bottom:13px}
  .flow-record{min-height:0;padding:9px 0}.flow-field{font-size:11px;min-height:28px;gap:6px}.flow-field>span{font-size:10px}.flow-transform b{gap:5px}.flow-transform em{font-size:10px;padding:0 4px}
  .flow-role{font-size:9px;margin-top:10px}
  .flow-connection{height:38px;width:1px;margin:9px 0 9px 42px}
  .flow-connection-label{left:13px;top:50%;bottom:auto;transform:translateY(-50%);font-size:7px}
  .flow-arrow{right:auto;left:50%;top:auto;bottom:-5px;transform:translateX(-50%) rotate(90deg);font-size:18px}
  .flow-packet{left:50%;top:calc(var(--flow-progress)*100%);width:6px;height:6px}
  .flow-file-header{gap:7px}.flow-file-header b{font-size:11px}.flow-file-header small{font-size:8px}.flow-file code{font-size:8px;white-space:normal;overflow-wrap:anywhere}.flow-ready{font-size:9px;gap:5px}
  .flow-caption{flex-direction:column;gap:9px;padding-top:20px}.flow-caption p{font-size:17px}.flow-caption p span{display:block}.flow-sample-note{font-size:8px;text-align:left}.flow-credits{font-size:8px;margin-top:12px}
}
@media(max-width:370px){.integration-hero{padding-inline:15px}.flow-station{grid-template-columns:64px minmax(0,1fr);column-gap:14px}.flow-mark img,.flow-mapper .flow-mark img{width:59px}.flow-target .flow-mark img{width:52px}.flow-halo{width:71px}.flow-orbit{width:77px}.flow-connection{margin-left:32px}.flow-station h3{font-size:17px}.flow-field{font-size:9px}.flow-field>span{font-size:8px}.flow-playback-label{font-size:8px}}
