/* Home reskin palette and type, from lancedb.webflow.io/home-reskin */
@font-face{font-family:"Aeonik Fono";src:url("fonts/AeonikFono-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Aeonik Pro";src:url("fonts/Aeonik-Pro-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Aeonik Pro";src:url("fonts/Aeonik-Pro-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  --gf-bg:#0e0d0d;
  --surface:#171513;
  --offwhite:#f4ebe8;
  --muted:#938d8a;
  --label:#ad9e95;
  --line:rgba(153,135,131,.34);
  --orange:#ff5c2b;
  --lavender:#e9c9e7;
  --mono:"Aeonik Fono","SFMono-Regular",Menlo,Consolas,monospace;
  --sans:"Aeonik Pro",Arial,sans-serif;
}

*{box-sizing:border-box}
html{background:var(--gf-bg)}
body{margin:0;background:var(--gf-bg);color:var(--muted);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--offwhite)}
img{display:block;max-width:100%;height:auto}

.fb-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:1240px;margin:0 auto;padding:20px 24px;border-bottom:1px solid var(--line)}
.fb-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--muted);font:13px var(--mono)}
.fb-source{font:13px var(--mono);color:var(--muted);text-decoration:none}
.fb-source:hover,.fb-brand:hover span{color:var(--offwhite)}

.fb-main{max-width:1240px;margin:0 auto;padding:0 24px}
.fb-intro{padding:72px 0 56px}
.fb-eyebrow,.fb-label,.fb-tag,.fb-num{font:12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--label);margin:0}
.fb-intro h1{font:400 clamp(40px,6vw,64px)/1.05 var(--mono);color:var(--offwhite);margin:16px 0 20px;letter-spacing:-.01em}
.fb-intro h1 span{color:var(--orange)}
.fb-lede{max-width:620px;margin:0;font-size:18px;line-height:1.55}

.fb-toc{margin-top:48px;padding:28px 32px 32px;background:var(--surface);border:1px solid var(--line)}
.fb-toc_list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.fb-toc a{display:flex;align-items:baseline;gap:12px;text-decoration:none}
.fb-toc a span{flex:none;width:24px;font-family:var(--mono);font-size:12px}
.fb-toc_section{font:16px/1.4 var(--mono);color:var(--offwhite)}
.fb-toc_section span{color:var(--orange)}
.fb-toc ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.fb-toc ul a{font-size:15px;line-height:1.4;color:var(--muted)}
.fb-toc ul span{color:var(--label)}
.fb-toc a:hover{color:var(--offwhite)}
.fb-toc ul a:hover span{color:var(--orange)}
.fb-feedback,.fb-option{scroll-margin-top:16px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

.fb-feedback{border-top:1px solid var(--line);padding:40px 0 24px}
.fb-feedback_head{display:flex;gap:24px;align-items:baseline}
.fb-num{color:var(--orange);font-size:14px}
.fb-feedback h2{font:400 30px/1.3 var(--mono);color:var(--offwhite);margin:0}
.fb-where{margin:8px 0 0}
.fb-where a{color:var(--muted)}

.fb-brief{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:48px;align-items:start;margin:40px 0 24px;padding:32px;background:var(--surface);border:1px solid var(--line)}
.fb-brief_text p{margin:0 0 16px}
.fb-label{margin-bottom:12px!important}
.fb-asks{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:12px}
.fb-asks li{display:flex;gap:14px;color:var(--offwhite)}
.fb-asks span{flex:none;width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--orange);color:var(--orange);font:11px var(--mono)}
.fb-note{font-size:15px}
.fb-brief.is-solo{grid-template-columns:minmax(0,820px)}
.fb-sources{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:12px}
.fb-sources li{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px}
.fb-sources a{font:13px var(--mono);color:var(--orange)}
.fb-src{color:var(--label);font:13px var(--mono)}
.fb-ref{margin:0}
.fb-ref img{border:1px solid var(--line)}
.fb-ref figcaption{font:12px var(--mono);color:var(--label);margin-top:10px}

.fb-options{list-style:none;margin:0;padding:0}
.fb-option{padding:56px 0;border-bottom:1px solid var(--line)}
.fb-option:last-child{border-bottom:0}
.fb-option_head{display:grid;grid-template-columns:120px minmax(0,320px) minmax(0,1fr);gap:24px;align-items:baseline;margin-bottom:40px}
.fb-tag{color:var(--orange)}
.fb-option h3{font:400 22px/1.3 var(--mono);color:var(--offwhite);margin:0}
.fb-option_head p:last-child{margin:0;max-width:640px}
.fb-option em{color:var(--offwhite);font-style:normal}
.fb-embed{margin:24px 0 0;font:12px var(--mono);color:var(--label)}
.fb-embed a{color:var(--label)}
.fb-embed code{font:inherit}

/* Favorites stay in view; the other options remain in native disclosures. */
.fb-favorite-badge{display:flex;align-items:center;gap:6px;width:max-content;margin-top:12px;padding:5px 8px;border:1px solid var(--lavender);border-radius:4px;background:rgba(233,201,231,.08);color:var(--lavender);font:11px/1.4 var(--mono);letter-spacing:.03em}
.fb-option.is-favorite .hp-card,.fb-option.is-favorite .hp-hero,.fb-option.is-favorite .st-card{outline:1px solid rgba(233,201,231,.35);outline-offset:12px}
.fb-toc ul a.is-favorite,.fb-toc ul a.is-favorite span{color:var(--lavender)}
.fb-alternatives{margin:12px 0 24px;border:1px solid var(--line);border-radius:4px;padding:0 24px}
.fb-alternatives > summary{padding:18px 0;color:var(--offwhite);font:13px/1.5 var(--mono);cursor:pointer}
.fb-alternatives > summary::marker{color:var(--lavender)}
.fb-alternatives > summary:hover{color:var(--lavender)}
.fb-alternatives > summary:focus-visible{outline:2px solid var(--lavender);outline-offset:4px}
.fb-alternatives > summary .fb-hide,.fb-alternatives[open] > summary .fb-show{display:none}
.fb-alternatives[open] > summary .fb-hide{display:inline}
.fb-alternatives[open] > summary{border-bottom:1px solid var(--line)}
.fb-alternatives--toc{margin:12px 0 0;padding:0;border:0}
.fb-alternatives--toc > summary{padding:4px 0;color:var(--label);font:12px/1.5 var(--sans)}
.fb-alternatives--toc[open] > summary{border:0}
.fb-alternatives--toc ul{margin-top:8px}
@media(max-width:600px){.fb-alternatives:not(.fb-alternatives--toc){padding:0 16px}}

/* the homepage card, rebuilt to the reskin's measurements */
.hp-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px 40px;align-items:center}
.hp-card_content{display:flex;gap:24px;align-items:flex-start}
.hp-card-icon{flex:none;width:48px;height:48px;padding:8px;display:flex;align-items:center;justify-content:center;background:var(--gf-bg)}
.hp-card-text{display:flex;flex-direction:column;gap:20px;max-width:402px}
.hp-card-title{font:400 30px/42px var(--mono);color:var(--offwhite);margin:0}
.hp-card-desc{font:16px/24px var(--sans);color:var(--muted);margin:0}
.hp-card-image svg{display:block;width:100%;height:auto;aspect-ratio:760/400}

/* animation */
.gf{overflow:visible}
.gf-label{font:17px var(--mono);fill:var(--muted)}
.gf-label.is-gpu{fill:var(--orange)}
.gf-row{fill:none;stroke:#5d5856;stroke-width:1}
.gf-row.is-hi{stroke:var(--orange)}
.gf-hot{fill:none;stroke:#bdb6c8;stroke-width:1;stroke-dasharray:4 4}
.gf-route{fill:none;stroke:rgba(244,235,232,.19);stroke-width:1}
.gf-packet{fill:none;stroke-width:2;stroke-linecap:butt;vector-effect:non-scaling-stroke}
.gf-frame{fill:none;stroke:rgba(233,201,231,.32);stroke-width:1;stroke-dasharray:2 4}
.gf-frame.is-hot{stroke:rgba(255,92,43,.42)}
.gf-tag{font:12px var(--mono);letter-spacing:.06em;fill:var(--label)}
.gf-tag.is-hot{fill:#f4b39c}
.gf-track{fill:#e4e1ea}
.gf-pct{font:14px var(--mono);fill:var(--label)}

/* modality table scenes (modality-table.js) */
.mt-grid{fill:none;stroke:#2c2826;stroke-width:1}
.mt-head{font:13px var(--mono);fill:#e6dcd8}
.mt-head.is-on{fill:var(--orange)}
.mt-type{font:11px var(--mono);fill:#7d7673}
.mt-glyph{color:var(--muted)}
.mt-cell-text{font:11px var(--mono);fill:currentColor}
.mt-pill rect{fill:var(--gf-bg);stroke:rgba(244,235,232,.3);stroke-width:1}
.mt-pill-text{font:13px var(--mono);fill:#e6dcd8}
.mt-pill.is-on rect{stroke:var(--orange)}
.mt-pill.is-on .mt-pill-text{fill:var(--orange)}
.mt-label{font:14px var(--mono);fill:var(--orange)}
.mt-box{fill:var(--gf-bg);stroke:var(--orange);stroke-width:1}
.mt-query{font:13px var(--mono);fill:var(--offwhite)}
.mt-lead{fill:none;stroke:var(--orange);stroke-width:1.2;stroke-dasharray:3 4}
.mt-lineage{fill:none;stroke:rgba(233,201,231,.42);stroke-width:1.2}
.mt-lineage.is-hot{stroke:var(--orange);stroke-width:1.6}
.mt-fn{font:12px var(--mono);fill:var(--lavender)}
.mt-more{font:20px var(--mono);fill:var(--label)}
.mt-scroll-track{fill:none;stroke:#2c2826;stroke-width:2}
.mt-scroll-thumb{fill:#6d625c}

/* preprocessing scenes (preprocessing.js) */
.pp-grid{fill:none;stroke:#2c2826;stroke-width:1}
.pp-frame{fill:none;stroke:#3a3532;stroke-width:1.25}
.pp-rule{fill:#2c2826}
.pp-icon{color:#ad9e95}
.pp-icon.is-quiet{color:#5d5856}
.pp-tile{fill:#2c2826}
.pp-line{fill:none;stroke:currentColor;stroke-width:2;color:#5d5856}
.pp-stroke{fill:none;stroke:currentColor;stroke-width:1}
.pp-braces{font:10.5px var(--mono);fill:currentColor}
.pp-panel{fill:#22201e}
.pp-ghost{fill:#151312;stroke:#2c2826;stroke-width:1}
.pp-code{font:13px var(--mono);letter-spacing:-.02em;fill:#ad9e95}
.pp-code .is-bright{fill:rgba(244,235,232,.84)}
.pp-code .is-str{fill:var(--lavender)}
.pp-code .is-accent{fill:var(--orange)}
.pp-code .is-dim{fill:#7d7673}
.pp-caret{fill:var(--orange)}
.pp-yaml{font:12px var(--mono);fill:#6d6765}
.pp-strike{fill:#938d8a}
.pp-err{font:12px var(--mono);fill:var(--orange)}
.pp-job{font:12px var(--mono);fill:var(--lavender)}
.pp-job.is-done{fill:var(--orange)}
.pp-head{font:12px var(--mono);fill:var(--label)}
.pp-head.is-on{fill:var(--orange)}
.pp-tag{font:12px var(--mono);fill:var(--orange)}
.pp-bracket{fill:none;stroke:rgba(255,92,43,.6);stroke-width:1}
.pp-stat{font:13px var(--mono);fill:var(--label)}
.pp-axis{fill:none;stroke:#2c2826;stroke-width:1}
.pp-curve{fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round}
.pp-dot{fill:var(--muted)}
.pp-dot.is-on{fill:var(--orange)}

/* failure-case curation scenes (curation.js), 08_find-training-data's field */
.cu{overflow:hidden}
.cu-shape{stroke-width:.9}
.cu-shape.is-outline{fill:none}
.cu-ring{fill:var(--gf-bg);stroke:#22201e;stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1}
.cu-pick{fill:none;stroke-width:.9;stroke-linejoin:miter}
.cu-pick-fill{stroke:none}
.cu-trail{fill:none;stroke:rgba(244,235,232,.3);stroke-width:.8;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.cu-gutter{font:13px var(--mono);fill:#4a4542}
.cu-frame{fill:none;stroke:rgba(255,92,43,.55);stroke-width:1;stroke-dasharray:3 4}
.cu-prompt{font:13px var(--mono);fill:#7d7673}
.cu-prompt.is-on{fill:var(--orange)}
.cu .pp-code .is-method,.cu .pp-code .is-keyword{fill:color-mix(in srgb,var(--orange) 40%,var(--label))}
.cu .pp-code .is-str{fill:color-mix(in srgb,var(--lavender) 65%,var(--muted))}
.cu .pp-code .is-param{fill:var(--label)}
.cu .pp-code .is-number{fill:color-mix(in srgb,var(--orange) 25%,var(--label))}

/* sandbox scenes (sandbox.js), 09_sandbox-workflow's branches */
.hp-card-image svg.sb{max-width:520px;margin:0 auto;aspect-ratio:520/320}
.sb-text{font:700 11px Inter,Arial,sans-serif;dominant-baseline:middle}
.sb-text.is-muted{fill:#ad9e95}
.sb-text.is-light{fill:#f4ebe8}
.sb-text.is-dark{fill:#22201e}
.sb-text.is-orange{fill:var(--orange)}
/* no non-scaling-stroke on the dashed paths: their dash of 1 is in path length,
   and a non-scaling stroke measures it on screen, so a scaled-up path draws partway */
.sb-line{fill:none;stroke:rgba(244,235,232,.18);stroke-width:1.5}
.sb-main-line{stroke-width:3}
.sb-main-label .sb-box{fill:#22201e;stroke:none}
.sb-checkpoint{fill:#111010;stroke:rgba(244,235,232,.18);stroke-width:1;vector-effect:non-scaling-stroke}
.sb-active{fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round}
.sb-active,.sb-branch,.sb-merge,.sb-reject-link,.sb-reject-cross{stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
.sb-branch,.sb-merge{filter:drop-shadow(0 0 5px rgba(255,92,43,.22))}
.sb-top-branch,.sb-merge{stroke:var(--sb-approved);stroke-opacity:.85}
.sb-bottom-branch{stroke:var(--orange)}
.sb-box{fill:#111010;stroke:rgba(244,235,232,.18);stroke-width:1.5;transform-box:fill-box;transform-origin:left center;vector-effect:non-scaling-stroke}
.sb-working-top,.sb-working-bottom,.sb-agent-top,.sb-agent-bottom,.sb-approved,.sb-rejected,.sb-merge-point{opacity:0}
.sb-working-top .sb-box,.sb-working-bottom .sb-box{transform:scaleX(.12)}
.sb-status-text,.sb-agent-top,.sb-agent-bottom{clip-path:inset(0 100% 0 0)}
.sb-dot{fill:#111010}
.sb-approved-box{fill:var(--lavender);stroke:rgba(244,235,232,.18);stroke-width:1.5;transform-box:fill-box;transform-origin:left center;transform:scaleX(.96);vector-effect:non-scaling-stroke}
.sb-rejected .sb-box{fill:#22201e;transform:scaleX(.96)}
.sb-reject-link{stroke:var(--lavender);stroke-opacity:.72}
.sb-reject-icon{fill:#22201e;stroke:var(--lavender);stroke-opacity:.58;stroke-width:1.25;transform-box:fill-box;transform-origin:center;vector-effect:non-scaling-stroke}
.sb-reject-cross{fill:none;stroke:var(--lavender);stroke-width:1.8;stroke-linecap:round}
.sb-merge-point{fill:var(--lavender)}
/* reduced motion: the finished state, both outcomes shown */
.sb.is-still .sb-active,.sb.is-still .sb-branch,.sb.is-still .sb-merge,.sb.is-still .sb-reject-link,.sb.is-still .sb-reject-cross,
.sb.is-still .sb-agent-top,.sb.is-still .sb-agent-bottom,.sb.is-still .sb-approved,.sb.is-still .sb-rejected,.sb.is-still .sb-merge-point{opacity:1;stroke-dashoffset:0}
.sb.is-still .sb-active-main{opacity:1}
.sb.is-still .sb-status-text,.sb.is-still .sb-agent-top,.sb.is-still .sb-agent-bottom{clip-path:inset(0)}
.sb.is-still .sb-approved-box,.sb.is-still .sb-rejected .sb-box{transform:scaleX(1)}
.sb.is-still .sb-working-top,.sb.is-still .sb-working-bottom{display:none}

/* the hero, rebuilt to the reskin's 1440px measurements and scaled to fit (hero.js) */
.hp-hero{--u:calc(100cqw / 1429);container-type:inline-size;background:var(--gf-bg) radial-gradient(circle,#030303 1.4px,transparent 1.8px) 0 0/14px 14px;border:1px solid var(--line);overflow:hidden}
.hp-hero_inner{position:relative;aspect-ratio:1381/576;margin:calc(64 * var(--u)) calc(24 * var(--u)) calc(96 * var(--u))}
.hp-hero_canvas{position:absolute;inset:0 0 auto}
.hp-hero_canvas canvas{display:block;width:100%;aspect-ratio:1440/495}
.hp-hero_title{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:calc(557 * var(--u));height:100%}
.hp-hero_h1{margin:0 0 calc(24 * var(--u));font:400 calc(62 * var(--u))/1 var(--mono);letter-spacing:calc(-1.24 * var(--u));color:var(--offwhite)}
.hp-hero_h1 span{background:linear-gradient(90deg,#e7d2f6,#ff734a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hp-hero_lede{max-width:calc(400 * var(--u));margin:0 0 calc(36 * var(--u));font:calc(20 * var(--u))/1.5 var(--sans);color:var(--label)}
.hp-hero_buttons{display:flex;align-items:center;gap:calc(16 * var(--u))}
.hp-btn{display:inline-flex;align-items:center;gap:calc(8 * var(--u));font:500 calc(14 * var(--u))/1.3 var(--sans);color:var(--lavender);text-decoration:none}
.hp-btn.is-primary{padding:calc(10 * var(--u)) calc(18 * var(--u));background:#22201e;border:calc(2 * var(--u)) solid #22201e;border-radius:calc(4 * var(--u));color:var(--offwhite)}
.hp-btn svg{width:calc(12 * var(--u));height:auto}

/* backfill stat scenes (backfill-stat.js), the "Built for petabyte scale"
   stat card opened, at the reskin's measurements */
.st-card{display:flex;align-items:center;max-width:760px;background:#201e1c}
.st-stat{flex:none;width:200px;padding:34px 20px;display:flex;flex-direction:column;gap:4px}
.st-value{display:flex;align-items:baseline;gap:4px;margin:0;font:56px/64px var(--mono);color:var(--lavender)}
.st-unit{font:20px/36px var(--mono);color:var(--muted)}
.st-labels{display:flex;gap:4px;margin:0;font:14px/21px var(--sans);color:var(--muted)}
.st-labels span{color:var(--offwhite)}
.st-visual{flex:1;min-width:0;padding:20px 20px 20px 0}
.st-visual canvas,.fb-ref iframe{display:block;width:100%;height:auto;aspect-ratio:423/135;border:0}
.fb-ref iframe{background:#201e1c;pointer-events:none}
.fb-ref figcaption + iframe{margin-top:20px}
.is-embed-stat canvas{width:100%;height:auto;aspect-ratio:423/135}

.fb-footer{display:flex;justify-content:space-between;gap:16px;max-width:1240px;margin:0 auto;padding:24px;border-top:1px solid var(--line);font:12px var(--mono);color:var(--label)}
.fb-noscript{text-align:center;color:var(--orange)}

/* ?embed=<key>: one animation on the card background, filling its iframe */
.is-embed,.is-embed body{background:var(--gf-bg)}
.is-embed body{display:grid;place-items:center;min-height:100vh;overflow:hidden}
.is-embed svg{width:100%;height:auto;max-height:100vh}
/* Stat embeds share the host card's surface. Keep this after the base embed rule. */
.is-embed-stat,.is-embed-stat body{background:transparent}
/* ?embed=hero-*: a drop-in for the live hero iframe, transparent and top-aligned */
.is-embed-hero,.is-embed-hero body{background:transparent}
.is-embed-hero body{display:block;min-height:0}

@media (max-width:1180px){
  .fb-toc_list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .fb-brief{grid-template-columns:1fr;gap:32px;padding:24px}
  .fb-option_head{grid-template-columns:1fr;gap:8px}
  .hp-card{grid-template-columns:1fr;gap:32px}
  .fb-toc_list{grid-template-columns:1fr;gap:28px}
}
@media (max-width:560px){
  .fb-intro{padding:48px 0 40px}
  .fb-feedback_head{flex-direction:column;gap:8px}
  .fb-feedback h2{font-size:24px}
  .hp-card-title{font-size:24px;line-height:32px}
  .st-card{flex-direction:column;align-items:stretch}
  .st-stat{width:auto;padding:20px}
  .st-visual{padding:0 20px 20px}
  .fb-source{display:none}
  .fb-toc{padding:24px}
}
