.landing main{max-width:76rem;margin:0 auto;padding:0 1.5rem}.landing .hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:3.5rem;padding:5rem 0 5.5rem;display:grid}.landing .hero h1{letter-spacing:-.02em;max-width:20ch;color:var(--ab-text);margin:0 0 1.4rem;font-size:clamp(2.3rem,4.4vw,3.5rem);font-weight:650;line-height:1.06}.landing .hero-eyebrow{color:var(--ab-running-text);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .9rem;font-size:.82rem;font-weight:650;line-height:1.4;display:block}.landing .lede a{color:var(--ab-text);text-underline-offset:3px;text-decoration:underline}.landing .lede{color:var(--ab-muted);max-width:34rem;margin:0 0 1.8rem;font-size:1.15rem}.landing .install{max-width:100%}.landing .install code{max-width:100%;font-family:var(--ab-mono);color:var(--ab-text);overflow-wrap:anywhere;border-radius:8px;padding:.75rem 1.1rem;font-size:.86rem;display:inline-block}.landing .install code:before{content:"$ ";color:var(--ab-faint)}.landing .actions{flex-wrap:wrap;gap:.8rem;margin:1.5rem 0 1rem;display:flex}.landing section{padding:4.5rem 0}.landing section h2{letter-spacing:-.015em;margin:0 0 .6rem;font-size:clamp(1.7rem,2.8vw,2.25rem);font-weight:650}.landing .section-lede{color:var(--ab-muted);max-width:42rem;margin:0 0 2rem}.landing .intro-video h2{margin-bottom:1.4rem}.landing .intro-video-player{aspect-ratio:16/9;border:1px solid var(--ab-border,#ffffff14);background:#071118;border-radius:14px;width:100%;height:auto;display:block;box-shadow:0 30px 80px #00000059}.landing .watch-item{gap:1.2rem;min-width:0;margin-top:2.75rem;display:grid}.landing .watch-copy{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.landing .watch-copy h3{margin:0;font-size:1.3rem;font-weight:650}.landing .watch-copy p{color:var(--ab-muted);max-width:40rem;margin:0}.landing .watch-copy a{padding:.35rem 0;font-weight:700}.landing .tabs{border-radius:12px;overflow:hidden}.landing .ab-tablist{border-bottom:1px solid var(--glass-border);flex-wrap:wrap;gap:.3rem;padding:.6rem;display:flex}.landing .ab-tablist button{min-height:2.5rem;color:var(--ab-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:.45rem 1.1rem;font-size:.92rem;font-weight:700;transition:background-color .2s,color .2s}.landing .ab-tablist button:hover{color:var(--ab-text)}.landing .ab-tablist button[aria-selected=true],html[data-lang=python] .landing .ab-synced[data-has-python]:not([data-hydrated]) button[data-tab-lang=python],html[data-lang=typescript] .landing .ab-synced[data-has-typescript]:not([data-hydrated]) button[data-tab-lang=typescript],html[data-lang=rust] .landing .ab-synced[data-has-rust]:not([data-hydrated]) button[data-tab-lang=rust]{color:var(--ab-text);background:#3ecf8e24;border-color:#3ecf8e59}html[data-lang=python] .landing .ab-synced[data-has-python]:not([data-hydrated]) button:not([data-tab-lang=python]),html[data-lang=typescript] .landing .ab-synced[data-has-typescript]:not([data-hydrated]) button:not([data-tab-lang=typescript]),html[data-lang=rust] .landing .ab-synced[data-has-rust]:not([data-hydrated]) button:not([data-tab-lang=rust]){color:var(--ab-muted);background:0 0;border-color:#0000}.landing .code-panel pre{font-family:var(--ab-mono);margin:0;padding:1.4rem 1.6rem;font-size:.84rem;line-height:1.7;overflow-x:auto}.landing .lifecycle dl{border-radius:12px;margin:1.5rem 0 0;padding:.5rem 2rem}.landing .lifecycle .row{border-bottom:1px solid var(--glass-border);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2rem;padding:1.6rem 0;display:grid}.landing .lifecycle .row:last-child{border-bottom:0}.landing .lifecycle dt{align-items:baseline;gap:.8rem;font-size:1.2rem;font-weight:780;line-height:1.35;display:flex}.landing .lifecycle dd{color:var(--ab-muted);margin:0}.landing .lifecycle dd p{margin:0 0 .4rem}.landing .lifecycle dd a{font-weight:700}.landing .state{border-radius:50%;flex:none;width:.7rem;height:.7rem;transform:translateY(-.05rem)}.landing .state-running{background:var(--ab-running);box-shadow:0 0 12px var(--ab-running)}.landing .state-waiting{background:var(--ab-waiting);box-shadow:0 0 12px var(--ab-waiting)}.landing .state-done{background:var(--ab-done);box-shadow:0 0 12px var(--ab-done)}.landing .table-glass{border-radius:12px;max-width:46rem;padding:.5rem 1.6rem;overflow-x:auto}.landing .measured table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.landing .measured th,.landing .measured td{text-align:left;border-bottom:1px solid var(--glass-border);padding:.85rem 1rem .85rem 0}.landing .measured tbody tr:last-child :is(th,td){border-bottom:0}.landing .measured thead th{color:var(--ab-muted);font-size:.9rem;font-weight:600}.landing .measured tbody td:nth-child(2){color:var(--ab-running);font-family:var(--ab-mono);text-shadow:0 0 18px #3ecf8e80;white-space:nowrap;font-size:1.1rem;font-weight:700}:root[data-theme=light] .landing .measured tbody td:nth-child(2){color:var(--ab-running-text);text-shadow:none}.landing .measured tbody td:nth-child(3){font-family:var(--ab-mono);color:var(--ab-muted);white-space:nowrap}.landing .measured .fine{margin-top:1.2rem}.landing .faq-list{gap:.7rem;max-width:50rem;display:grid}.landing .faq details{border-radius:12px;padding:0 1.3rem;transition:background-color .2s}.landing .faq details[open]{background:var(--glass-bg-strong)}.landing .faq summary{cursor:pointer;border-radius:12px;justify-content:space-between;gap:1rem;padding:1.05rem 0;font-size:1.05rem;font-weight:750;list-style:none;display:flex}.landing .faq summary::-webkit-details-marker{display:none}.landing .faq summary:after{content:"+";color:var(--ab-running-text);font-weight:650;transition:transform .2s}.landing .faq details[open] summary:after{transform:rotate(45deg)}.landing .faq details p{color:var(--ab-muted);margin:0 0 1.2rem}.landing .closing-card{border-radius:12px;padding:3rem;position:relative;overflow:hidden}.landing .closing-card:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#3ecf8e59,#0000);height:120%;position:absolute;inset:auto -10% -60% 30%}.landing .closing-card>*{position:relative}.landing .closing-card h2{margin-top:0}.landing .closing-card p{color:var(--ab-muted);margin:0 0 1.6rem}@media (max-width:900px){.landing .hero{grid-template-columns:1fr;gap:2.5rem;padding-top:3rem}.landing .lifecycle dl{padding:.5rem 1.3rem}.landing .lifecycle .row{grid-template-columns:1fr;gap:.6rem}.landing .closing-card{padding:2rem 1.5rem}}@media (max-width:600px){.landing main{padding:0 1rem}.landing section{padding:3rem 0}.landing .hero{padding:2.25rem 0 3rem}.landing .code-panel pre{padding:1.1rem;font-size:.8rem}.landing .table-glass{padding:.4rem 1rem}.landing .faq details{padding:0 1rem}}.install-goal{border-radius:12px;max-width:34rem;margin-top:1.4rem;padding:.9rem 1.1rem 1rem}.install-goal-figure{flex-wrap:wrap;align-items:baseline;gap:.2rem .7rem;margin:0;display:flex}.install-goal-number{letter-spacing:-.02em;color:var(--ab-running-text);font-variant-numeric:tabular-nums;font-size:clamp(2rem,3.6vw,2.6rem);font-weight:700;line-height:1.1}.install-goal-unit{color:var(--ab-text);font-size:1.05rem;font-weight:650}.install-goal-track{background:var(--glass-bg-soft);border:1px solid var(--glass-border);border-radius:999px;height:10px;overflow:hidden}.install-goal-fill{background:var(--ab-running);border-radius:999px;height:100%;display:block}.install-goal-note{color:var(--ab-muted);margin:.6rem 0 0;font-size:.82rem}.landing .bars{gap:2rem;margin:0 0 1.5rem;display:grid}.landing .bars-group{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:1.25rem 1.4rem}.landing .bars-group h3{margin:0 0 1rem;font-size:1rem;font-weight:650}.landing .bar-row{grid-template-columns:6.5rem minmax(0,1fr) 7rem;align-items:center;gap:.9rem;margin:.55rem 0;display:grid}.landing .bar-name{color:var(--ab-muted);font-size:.9rem}.landing .bar-track{background:var(--glass-bg-soft);border-radius:4px;height:14px;overflow:hidden}.landing .bar{border-radius:4px;height:100%;display:block}.landing .bar-ours{background:var(--ab-running)}.landing .bar-theirs{background:var(--ab-faint)}.landing .bar-value{font-family:var(--ab-mono);text-align:right;font-variant-numeric:tabular-nums;font-size:.85rem}.landing .bar-ratio{color:var(--ab-muted);margin:.9rem 0 0;font-size:.92rem}.landing .bar-ratio b{color:var(--ab-running-text);font-family:var(--ab-mono)}@media (max-width:36rem){.landing .bar-row{grid-template-columns:5rem minmax(0,1fr)}.landing .bar-value{text-align:left;grid-column:2}}.landing .lifecycle .row,.landing .faq details{transition:background-color .2s}.landing .lifecycle .row:hover,.landing .faq details:hover{background:var(--glass-bg-soft)}.landing .logo-grid{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.75rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.landing .logo-tile{border:1px solid var(--glass-border);background:var(--glass-bg);min-height:7rem;color:var(--ab-muted);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:1rem .75rem;transition:border-color .2s,color .2s,background-color .2s;display:flex}.landing .logo-tile:hover{color:var(--ab-text);border-color:var(--glass-border-strong);background:var(--ab-surface-2)}.landing .logo-svg{fill:currentColor;width:2.1rem;height:2.1rem}.landing .logo-tile .brand-icon{color:inherit}.landing .logo-tile .brand-initial{border-width:2px;font-size:1rem}.landing .logo-word{letter-spacing:-.02em;font-size:1.35rem;font-weight:650;line-height:2.1rem}.landing .logo-plus{color:var(--ab-running-text);font-size:1.9rem;line-height:2.1rem}.landing .logo-name{font-size:.86rem;line-height:1.3}.landing .provider-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin:0 0 1.25rem;display:grid}.landing .stat{border-radius:12px;flex-direction:column;gap:.35rem;padding:1.1rem 1.25rem;display:flex}.landing .stat b{font-family:var(--ab-mono);color:var(--ab-running-text);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:600}.landing .stat span{color:var(--ab-muted);font-size:.92rem}.landing .kaggle-models{border-radius:12px;margin-bottom:1rem;padding:1.25rem 1.4rem}.landing .kaggle-models h3{margin:0 0 .4rem;font-size:1.05rem}.landing .kaggle-models p{color:var(--ab-muted);margin:0 0 .9rem}.landing .kaggle-models ul{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.4rem 1rem;margin:0;padding:0;list-style:none;display:grid}.landing .kaggle-models code,.landing .providers .section-lede code{font-family:var(--ab-mono);font-size:.84rem}@media (max-width:50rem){.landing .provider-stats{grid-template-columns:1fr}}.landing .marquee{padding:0 0 3.5rem}.landing .marquee-caption{text-align:center;color:var(--ab-faint);letter-spacing:.08em;text-transform:uppercase;margin:0 0 1rem;font-size:.82rem}.landing .marquee-window{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000);mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000)}.landing .marquee-track{width:max-content;animation:70s linear infinite marquee-ltr;display:flex}.landing .marquee-window:hover .marquee-track{animation-play-state:paused}.landing .marquee-list{gap:.75rem;margin:0;padding:0 .75rem 0 0;list-style:none;display:flex}.landing .marquee-pill{border:1px solid var(--glass-border);background:var(--glass-bg);white-space:nowrap;border-radius:999px;align-items:baseline;gap:.5rem;padding:.6rem 1.1rem;display:inline-flex}.landing .marquee-maker{color:var(--ab-faint);letter-spacing:.02em;font-size:.8rem;font-weight:600}.landing .marquee-model{color:var(--ab-text);font-weight:600}.landing .marquee-window+.marquee-window{margin-top:.75rem}.landing .marquee-rtl{animation-name:marquee-rtl;animation-duration:60s}.landing .marquee-pill{align-items:center}.landing .marquee-provider{gap:.6rem;padding:.7rem 1.25rem .7rem 1rem}.landing .marquee-maker-name{color:var(--ab-text);font-size:1rem;font-weight:650}.brand-icon{fill:currentColor;width:1.35rem;height:1.35rem;color:var(--ab-text);flex:none}.landing .marquee-pill:not(.marquee-provider) .brand-icon{width:1.05rem;height:1.05rem;color:var(--ab-muted)}.brand-initial{font:700 .72rem/1 var(--ab-font);box-sizing:border-box;border:1.5px solid;border-radius:50%;place-items:center;display:inline-grid}.landing .marquee-pill:not(.marquee-provider) .brand-initial{font-size:.6rem}@keyframes marquee-rtl{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-ltr{0%{transform:translate(-50%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.landing .marquee-track{width:auto;animation:none}.landing .marquee-window{-webkit-mask-image:none;mask-image:none}.landing .marquee-list{flex-wrap:wrap;justify-content:center}.landing .marquee-list[aria-hidden]{display:none}}.site.landing{--glass-bg:#14181f80;--glass-bg-strong:#181d25a8;--glass-bg-soft:#ffffff09;--glass-border:#ffffff16;--glass-border-strong:#ffffff24;--glass-blur:blur(18px) saturate(150%);--glass-highlight:inset 0 1px 0 #ffffff12;--glass-shadow:0 24px 60px -32px #000000d9;--glass-light:#ffffff12;isolation:isolate}:root[data-theme=light] .site.landing{--glass-bg:#ffffff94;--glass-bg-strong:#ffffffbd;--glass-bg-soft:#ffffff73;--glass-border:#141e281a;--glass-border-strong:#141e2829;--glass-highlight:inset 0 1px 0 #ffffffe6;--glass-shadow:0 24px 50px -34px #0f1b2d59;--glass-light:#ffffff8c}.site.landing:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(38vmax 30vmax at 18% 22%, color-mix(in srgb, var(--ab-running) 16%, transparent), transparent 70%), radial-gradient(42vmax 34vmax at 82% 30%, color-mix(in srgb, var(--ab-done) 14%, transparent), transparent 70%), radial-gradient(34vmax 28vmax at 55% 88%, color-mix(in srgb, var(--ab-waiting) 8%, transparent), transparent 70%);animation:48s ease-in-out infinite alternate landing-drift;position:fixed;inset:-25vmax}:root[data-theme=light] .site.landing:before{opacity:.8}@keyframes landing-drift{0%{transform:translate(-2%,-1%)rotate(0)scale(1)}to{transform:translate(2%,2%)rotate(6deg)scale(1.06)}}.landing .glass,.landing .scene,.landing .trace,.landing .logo-tile,.landing .bars-group,.landing .marquee-pill{background-color:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-color:var(--glass-border);box-shadow:var(--glass-highlight), var(--glass-shadow)}.landing .top{background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-highlight), var(--glass-shadow)}.landing .glass,.landing .scene,.landing .trace{position:relative}.landing .glass:after,.landing .scene:after,.landing .trace:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(26rem circle at var(--mx,50%) var(--my,-30%), var(--glass-light), transparent 45%);opacity:0;transition:opacity .35s;position:absolute;inset:0}.landing .glass:hover:after,.landing .scene:hover:after,.landing .trace:hover:after{opacity:1}@property --phase{syntax:"<color>";inherits:true;initial-value:#6aa8ff}.landing .hero .trace{--phase:var(--ab-done);background:radial-gradient(70% 55% at 50% 0%, color-mix(in srgb, var(--phase) 13%, transparent), transparent 75%), linear-gradient(160deg, #ffffff0f 0%, #fff0 40%), var(--glass-bg);border-color:color-mix(in srgb, var(--phase) 30%, var(--glass-border));box-shadow:var(--glass-highlight), 0 0 50px -12px color-mix(in srgb, var(--phase) 45%, transparent), 0 40px 160px -20px color-mix(in srgb, var(--phase) 60%, transparent), var(--glass-shadow);transition:--phase 1.1s}.landing .hero .trace[data-phase=running]{--phase:var(--ab-running)}.landing .hero .trace[data-phase=waiting]{--phase:var(--ab-waiting)}.landing .hero .trace:before{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:linear-gradient(105deg,#0000 35%,#ffffff17 50%,#0000 65%) 120% 0/250% 100%;position:absolute;inset:0}.landing .hero .trace.playing:before{animation:1.8s ease-out .15s landing-sheen}@keyframes landing-sheen{0%{opacity:1;background-position:120% 0}to{opacity:0;background-position:-40% 0}}.landing .hero-eyebrow{text-transform:none;letter-spacing:0;font-size:.95rem}@media (prefers-reduced-motion:reduce){.site.landing:before,.landing .hero .trace.playing:before{animation:none}.landing .hero .trace,.landing .hero .trace:after,.landing .glass:after,.landing .scene:after,.landing .trace:after{transition:none}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site.landing{--glass-bg:#14181feb}:root[data-theme=light] .site.landing{--glass-bg:#fffffff0}}
.trace{border:1px solid var(--glass-border-strong);background:linear-gradient(160deg, #ffffff14 0%, #fff0 40%), var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);font-family:var(--ab-mono);color:var(--ab-muted);box-shadow:var(--glass-highlight), 0 40px 90px -40px #3ecf8e73;border-radius:12px;margin:0;font-size:.78rem;overflow:hidden}.trace-head,.trace-foot{border-bottom:1px solid var(--glass-border);align-items:center;gap:.6rem;padding:.8rem 1.1rem;display:flex}.trace-head b{color:var(--ab-text);font-weight:600}.trace-actor{margin-left:auto}.trace-foot{border-top:1px solid var(--glass-border);color:var(--ab-done);border-bottom:0}.trace .replay{font:inherit;font-family:var(--ab-font);color:var(--ab-muted);border:1px solid var(--glass-border-strong);cursor:pointer;background:0 0;border-radius:999px;margin-left:auto;padding:.15rem .7rem;font-size:.78rem;font-weight:700}.trace .replay:hover{color:var(--ab-text);border-color:var(--ab-muted)}.trace .steps{margin:0;padding:.6rem 0;list-style:none}.trace .step{grid-template-columns:4.2rem 1fr auto;align-items:center;gap:.9rem;padding:.6rem 1.1rem;display:grid}.trace .step-n{color:var(--ab-faint)}.trace .lane{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.trace .lane-parallel{flex-direction:column;align-items:stretch;gap:.35rem}.trace .call{color:var(--ab-ink);background:var(--ab-running);white-space:nowrap;border-radius:8px;padding:.28rem .65rem;font-weight:600;display:inline-block}.trace .call.model{border-radius:999px}.trace .call.tool{color:var(--ab-done);border:1px solid var(--ab-done);background:0 0;position:relative;overflow:hidden}.trace .note{color:var(--ab-muted);font-family:var(--ab-font);font-size:.92rem}.trace .note-wait{color:var(--ab-waiting);display:none}.trace .note-ok{color:var(--ab-done)}.trace .saved{color:var(--ab-done);opacity:.85;font-size:.72rem}.trace .dot{background:var(--ab-done);border-radius:50%;width:.55rem;height:.55rem;display:inline-block}.trace.playing [data-at]:not(.on),.trace.playing .saved[data-after]:not(.on){opacity:0;transform:translateY(4px)}.trace [data-at],.trace .saved[data-after]{transition:opacity .4s ease-out,transform .4s ease-out}.trace.playing .trace-head .dot{background:var(--ab-running);animation:1s ease-in-out infinite pulse}.trace.playing .lane-parallel .call{color:var(--ab-running);border-color:var(--ab-running)}.trace.playing .lane-parallel .call:after{content:"";transform-origin:0;background:#3ecf8e38;position:absolute;inset:0;transform:scaleX(0)}.trace.playing .step.on .lane-parallel .call:after{animation:fill var(--d) ease-out forwards}.trace.playing .step.on .lane-parallel .call{animation:turn-done 10ms linear var(--d) forwards}.trace .step-wait.waiting .approval{color:var(--ab-waiting);border-color:var(--ab-waiting);animation:.9s ease-in-out infinite pulse}.trace .step-wait.waiting .note-wait{animation:.9s ease-in-out infinite pulse;display:inline}.trace .step-wait.waiting .note-ok{display:none}.trace .step-wait .note-ok{animation:.4s cubic-bezier(.2,.9,.3,1.4) pop}@keyframes fill{to{transform:scaleX(1)}}@keyframes turn-done{to{color:var(--ab-done);border-color:var(--ab-done)}}@keyframes pulse{50%{opacity:.4}}@keyframes pop{0%{opacity:0;transform:scale(.85)}}@media (prefers-reduced-motion:reduce){.trace *{transition:none!important;animation:none!important}}@media (max-width:560px){.trace .step{grid-template-columns:1fr;gap:.35rem}.trace-actor{display:none}}.trace .replay{min-height:2.5rem;padding:0 .95rem}.trace-foot{padding-block:.45rem}.trace .call{text-overflow:ellipsis;max-width:100%;overflow:hidden}:root[data-theme=light] .trace{box-shadow:var(--glass-highlight), 0 40px 90px -40px #12915c59}:root[data-theme=light] .trace .call.tool,:root[data-theme=light] .trace .note-ok,:root[data-theme=light] .trace .saved,:root[data-theme=light] .trace-foot{color:var(--ab-done-text);border-color:var(--ab-done-text)}:root[data-theme=light] .trace.playing .lane-parallel .call{color:var(--ab-running-text);border-color:var(--ab-running-text)}:root[data-theme=light] .trace .step-wait.waiting .approval,:root[data-theme=light] .trace .step-wait.waiting .note-wait{color:var(--ab-waiting-text);border-color:var(--ab-waiting-text)}@media (max-width:560px){.trace .step{padding-inline:.9rem}}
