@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&display=swap";html:has(.sg-landing){scroll-behavior:smooth}body:has(.sg-landing){background:#0a0a0a}.sg-landing{--bg:#0a0a0a;--bg-raised:#111111;--bg-input:#161616;--border:rgba(255, 255, 255, .08);--border-hover:rgba(255, 255, 255, .18);--text:#ededed;--text-dim:#a1a1a1;--text-faint:#6e6e6e;--brand:#4b006e;--brand-lift:#7c1fa8;--brand-glow:rgba(124, 31, 168, .35);--glow-o:1;--ease:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);min-height:100vh;overflow-x:clip;background:var(--bg);color:var(--text);font-family:Geist,Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.sg-landing a{color:inherit;text-decoration:none}.sg-landing *{box-sizing:border-box}.sg-landing :focus-visible{outline:2px solid var(--brand-lift);outline-offset:2px;border-radius:4px}.sg-landing .mono{font-family:Geist Mono,JetBrains Mono,ui-monospace,SFMono-Regular,monospace}.sg-landing .wrap{max-width:1120px;margin:0 auto;padding:0 24px}.sg-landing .gridbg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 80% 70%at 50% 30%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70%at 50% 30%,#000 30%,transparent 75%)}.sg-landing .nav{position:fixed;top:0;left:0;right:0;z-index:50;background:0 0;border-bottom:1px solid transparent;transition:background .2s var(--ease),border-color .2s var(--ease),backdrop-filter .2s var(--ease)}.sg-landing .nav.scrolled{background:#0a0a0ab3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--border)}.sg-landing .nav-in{max-width:1120px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;gap:32px}.sg-landing .nav-links{display:flex;gap:26px;margin-left:auto}.sg-landing .nav-links a{font-size:14px;color:var(--text-dim);transition:color .2s var(--ease)}.sg-landing .nav-links a:hover{color:var(--text)}@media (max-width:720px){.sg-landing .nav-links{display:none}}.sg-landing .btn{display:inline-flex;align-items:center;white-space:nowrap;gap:8px;height:44px;padding:0 22px;border-radius:8px;font-size:14.5px;font-weight:500;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),transform .15s var(--ease)}.sg-landing .btn-p{color:var(--text);border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,color-mix(in oklab,var(--brand) 78%,#fff 6%),var(--brand))}.sg-landing .btn-p:hover{background:linear-gradient(180deg,color-mix(in oklab,var(--brand-lift) 85%,#fff 8%),var(--brand-lift));box-shadow:0 0 0 1px var(--border-hover),0 8px 30px var(--brand-glow);transform:translateY(-1px)}.sg-landing .btn-p:active{transform:translateY(0);box-shadow:0 0 0 1px var(--border-hover),0 4px 14px var(--brand-glow)}.sg-landing .btn-g{color:var(--text);border:1px solid var(--border);background:0 0}.sg-landing .btn-g:hover{border-color:var(--border-hover);background:#ffffff08}.sg-landing .btn-sm{height:36px;padding:0 16px;font-size:13.5px}@keyframes sg-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.sg-landing .rise{animation:sg-rise .65s var(--ease-out) both}.sg-landing .d1{animation-delay:80ms}.sg-landing .d2{animation-delay:.16s}.sg-landing .d3{animation-delay:.24s}.sg-landing .d4{animation-delay:.32s}@keyframes sg-drift{0%,to{transform:translate(0)}50%{transform:translate(40px,-24px)}}.sg-landing .glow-a{position:absolute;width:640px;height:480px;left:8%;top:-10%;border-radius:50%;background:radial-gradient(circle,var(--brand-lift),transparent 65%);opacity:calc(.32*var(--glow-o));filter:blur(100px);pointer-events:none;animation:sg-drift 26s var(--ease) infinite}.sg-landing .glow-b{position:absolute;width:520px;height:420px;right:4%;top:22%;border-radius:50%;background:radial-gradient(circle,var(--brand),transparent 62%);opacity:calc(.4*var(--glow-o));filter:blur(110px);pointer-events:none;animation:sg-drift 32s var(--ease) infinite reverse}.sg-landing .term{background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 24px 80px #0000008c,0 0 60px var(--brand-glow)}.sg-landing .term-bar{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-bottom:1px solid var(--border);background:#ffffff05}.sg-landing .wdot{width:11px;height:11px;border-radius:50%;background:#ffffff24}.sg-landing .term-title{margin-left:8px;font-size:12px;color:var(--text-faint)}.sg-landing .term-body{padding:18px 18px 22px;font-size:13.5px;line-height:1.9;min-height:236px;text-align:left}.sg-landing .tl{animation:sg-rise .3s var(--ease-out) both}.sg-landing .tl.cmd{color:var(--text)}.sg-landing .tl.dim{color:var(--text-faint)}.sg-landing .tl.ok{color:var(--text-dim)}.sg-landing .tl.ok:first-letter{color:#3ecf8e}.sg-landing .tl.link{color:var(--brand-lift);font-weight:500}.sg-landing .caret{display:inline-block;width:8px;height:15px;background:var(--text-dim);vertical-align:-2px;animation:sg-blink 1s steps(1) infinite}@keyframes sg-blink{50%{opacity:0}}.sg-landing .logos{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 44px}.sg-landing .logos span{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text-faint);opacity:.55;transition:opacity .2s var(--ease),color .2s var(--ease);cursor:default}.sg-landing .logos span:hover{opacity:1;color:var(--text-dim)}.sg-landing .card{position:relative;background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;transition:border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.sg-landing .card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 8px 40px #0006,0 0 40px var(--brand-glow)}.sg-landing .spot:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .2s var(--ease);background:radial-gradient(320px circle at var(--mx, 50%) var(--my, 50%),var(--brand-glow),transparent 70%);z-index:1}.sg-landing .spot:hover:before{opacity:1}.sg-landing .pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width:980px){.sg-landing .pgrid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.sg-landing .pgrid{grid-template-columns:1fr}}.sg-landing .pwin{overflow:hidden}.sg-landing .pbar{display:flex;align-items:center;gap:7px;height:38px;padding:0 12px;border-bottom:1px solid var(--border);background:#ffffff05;position:relative;z-index:2}.sg-landing .purl{margin-left:8px;flex:1;text-align:center;font-size:11.5px;color:var(--text-faint);background:var(--bg-input);border:1px solid var(--border);border-radius:99px;padding:4px 12px;max-width:200px;margin-right:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sg-landing .pscroll{height:300px;overflow-y:auto;background:#0d0d0d;position:relative;z-index:2;overscroll-behavior:contain}.sg-landing .pscroll::-webkit-scrollbar{width:6px}.sg-landing .pscroll::-webkit-scrollbar-track{background:0 0}.sg-landing .pscroll::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:99px}.sg-landing .pscroll::-webkit-scrollbar-thumb:hover{background:#ffffff42}.sg-landing .pmeta{padding:16px 18px 18px;border-top:1px solid var(--border);position:relative;z-index:2}.sg-landing .ph{background:#ffffff0e;border-radius:5px}.sg-landing .ph-line{height:9px;border-radius:3px;background:#ffffff14}.sg-landing .ph-dim{background:#ffffff0b}.sg-landing .ogrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media (max-width:980px){.sg-landing .ogrid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.sg-landing .ogrid{grid-template-columns:1fr}}.sg-landing .bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:172px;grid-auto-flow:dense;gap:16px}.sg-landing .s2{grid-column:span 2}.sg-landing .r2{grid-row:span 2}@media (max-width:980px){.sg-landing .bento{grid-template-columns:1fr 1fr}}@media (max-width:560px){.sg-landing .bento{grid-template-columns:1fr}.sg-landing .s2{grid-column:span 1}.sg-landing .r2{grid-row:span 1}}.sg-landing .b{position:relative;overflow:hidden;background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;transition:border-color .25s var(--ease)}.sg-landing .b:hover{border-color:var(--border-hover)}.sg-landing .b h3{margin:0;font-size:16.5px;font-weight:600;letter-spacing:-.01em;position:relative;z-index:2}.sg-landing .b p{margin:0;font-size:13.5px;line-height:1.5;color:var(--text-dim);position:relative;z-index:2}.sg-landing .b .viz{position:relative;z-index:1;flex:1;min-height:0}.sg-landing .fx-a .files{display:flex;gap:8px;align-items:flex-end;padding-top:6px}.sg-landing .fx-a .file{width:34px;height:42px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);display:grid;place-items:end center;padding-bottom:4px;font-size:8.5px;color:var(--text-faint);position:relative}.sg-landing .fx-a .badge{position:absolute;top:-7px;right:-7px;width:17px;height:17px}.sg-landing .fx-a .bx,.sg-landing .fx-a .bk{position:absolute;inset:0;display:grid;place-items:center;border-radius:50%;font-size:10px;line-height:1;transition:opacity .25s var(--ease),transform .25s var(--ease)}.sg-landing .fx-a .bx{background:#41161a;color:#ff6369}.sg-landing .fx-a .bk{background:var(--brand-lift);color:#fff;opacity:0;transform:scale(.4) rotate(-90deg)}.sg-landing .fx-a:hover .bx{opacity:0;transform:scale(.4) rotate(90deg)}.sg-landing .fx-a:hover .bk{opacity:1;transform:scale(1) rotate(0)}.sg-landing .fx-b .ghost{position:absolute;right:6px;top:-18px;font-size:108px;font-weight:700;color:var(--text);opacity:.05;letter-spacing:-.05em;transition:transform .32s var(--ease),opacity .32s var(--ease),color .32s var(--ease);transform-origin:top right;pointer-events:none}.sg-landing .fx-b:hover .ghost{transform:scale(1.14);opacity:.13;color:var(--brand-lift)}.sg-landing .fx-c .tiles{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding-top:4px}.sg-landing .fx-c .tiles div{height:30px;border-radius:6px;background:#ffffff0f;border:1px solid var(--border);transition:transform .32s var(--ease),background .32s var(--ease)}.sg-landing .fx-c:hover .t1{transform:translate(calc(100% + 7px))}.sg-landing .fx-c:hover .t2{transform:translate(calc(-100% - 7px));background:var(--brand-glow)}.sg-landing .fx-c:hover .t3{transform:translateY(-5px)}.sg-landing .fx-c:hover .t4{transform:translateY(5px)}.sg-landing .fx-d .shot{height:100%;border-radius:8px;border:1px solid var(--border);background:repeating-linear-gradient(45deg,#ffffff0d 0 10px,#ffffff05 10px 20px);filter:blur(5px);transition:filter .3s var(--ease)}.sg-landing .fx-d:hover .shot{filter:blur(0)}.sg-landing .fx-d .shotlbl{position:absolute;top:12px;left:14px;font-size:10.5px;color:var(--text-faint);opacity:0;transform:translateY(4px);transition:opacity .3s var(--ease),transform .3s var(--ease);z-index:2}.sg-landing .fx-d:hover .shotlbl{opacity:1;transform:translateY(0)}.sg-landing .fx-e .chips{display:flex;flex-wrap:wrap;gap:7px;padding-top:6px}.sg-landing .fx-e .chips span{font-size:11px;padding:5px 10px;border-radius:99px;border:1px solid var(--border);color:var(--text-faint);background:var(--bg-input);transition:color .22s var(--ease),border-color .22s var(--ease),transform .22s var(--ease)}.sg-landing .fx-e:hover .chips span{color:var(--text);border-color:var(--border-hover);transform:translateY(-3px)}.sg-landing .fx-e:hover .chips span:nth-child(1){transition-delay:0ms}.sg-landing .fx-e:hover .chips span:nth-child(2){transition-delay:55ms}.sg-landing .fx-e:hover .chips span:nth-child(3){transition-delay:.11s}.sg-landing .fx-e:hover .chips span:nth-child(4){transition-delay:165ms}.sg-landing .fx-e:hover .chips span:nth-child(5){transition-delay:.22s}.sg-landing .fx-f .tree{position:absolute;right:16px;bottom:-14px;width:190px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);font-size:11px;line-height:1.8;color:var(--text-faint);transform:translateY(20px) rotate(1.6deg);opacity:.55;transition:transform .32s var(--ease),opacity .32s var(--ease)}.sg-landing .fx-f:hover .tree{transform:translateY(0) rotate(0);opacity:1}@media (max-width:560px){.sg-landing .fx-f .tree{display:none}}@property --ang{syntax:"<angle>";initial-value:0deg;inherits:false}.sg-landing .fx-g:after{content:"";position:absolute;inset:-1px;border-radius:12px;padding:1px;background:conic-gradient(from var(--ang),var(--brand-lift),transparent 30%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .25s var(--ease);pointer-events:none}.sg-landing .fx-g:hover:after{opacity:1;animation:sg-angspin 1.4s linear infinite}@keyframes sg-angspin{to{--ang:360deg}}.sg-landing .fx-h:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 42%,var(--brand-glow) 50%,transparent 58%);transform:translate(-130%);pointer-events:none}.sg-landing .fx-h:hover:before{animation:sg-sweep .7s var(--ease) forwards}@keyframes sg-sweep{to{transform:translate(130%)}}.sg-landing .fx-i .imain{transition:transform .26s var(--ease)}.sg-landing .fx-i:hover .imain{transform:translateY(-8px)}.sg-landing .fx-i .isub{font-size:12px;color:var(--brand-lift);opacity:0;transform:translateY(8px);transition:opacity .26s var(--ease),transform .26s var(--ease);position:relative;z-index:2}.sg-landing .fx-i:hover .isub{opacity:1;transform:translateY(-4px)}.sg-landing .fx-j{transition:transform .2s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease);will-change:transform;transform-style:preserve-3d}.sg-landing .fx-j:hover{box-shadow:0 18px 50px #00000080,0 0 44px var(--brand-glow);border-color:var(--border-hover)}.sg-landing .fx-j:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .25s var(--ease);background:radial-gradient(200px circle at var(--jx, 50%) var(--jy, 50%),rgba(255,255,255,.12),var(--brand-glow) 45%,transparent 75%)}.sg-landing .fx-j:hover:before{opacity:1}.sg-landing .fx-j:hover h3,.sg-landing .fx-j:hover p{transform:translateZ(22px)}.sg-landing .fx-j h3,.sg-landing .fx-j p{transition:transform .2s var(--ease)}.sg-landing .fx-k .kline{font-size:12px;color:var(--text-dim);padding-top:6px;white-space:nowrap;overflow:hidden}.sg-landing .fx-k .typed{display:inline-block;max-width:0;overflow:hidden;white-space:nowrap;vertical-align:bottom}.sg-landing .fx-k:hover .typed{animation:sg-typek .9s steps(24) forwards}@keyframes sg-typek{to{max-width:100%}}.sg-landing .fx-k .kcaret{display:inline-block;width:7px;height:13px;background:var(--text-dim);vertical-align:-2px;animation:sg-blink 1s steps(1) infinite}.sg-landing .fx-l .licon{width:34px;height:34px;border:1px solid var(--border-hover);border-radius:8px;display:grid;place-items:center;font-size:15px;color:var(--text-dim);transition:transform .32s var(--ease),color .32s var(--ease);position:relative;z-index:2}.sg-landing .fx-l:hover .licon{transform:rotate(90deg);color:var(--text)}.sg-landing .fx-l .bloom{position:absolute;left:-30px;top:-40px;width:200px;height:160px;background:radial-gradient(circle,var(--brand-glow),transparent 68%);opacity:0;transition:opacity .35s var(--ease);pointer-events:none}.sg-landing .fx-l:hover .bloom{opacity:1}.sg-landing .prow{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:15px 20px;border-bottom:1px solid var(--border);font-size:14px;transition:background .2s var(--ease)}.sg-landing .prow:last-child{border-bottom:none}.sg-landing .prow:hover{background:#ffffff06}.sg-landing .prow .k{color:var(--brand-lift);font-size:12.5px;padding-top:2px}.sg-landing .prow .v{color:var(--text-dim);line-height:1.55}@media (max-width:560px){.sg-landing .prow{grid-template-columns:1fr;gap:4px}}.sg-landing .footer-link{transition:color .2s var(--ease)}.sg-landing .footer-link:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){.sg-landing *,.sg-landing :before,.sg-landing :after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-property:opacity,border-color,background,color!important}.sg-landing .rise,.sg-landing .tl{animation:none;opacity:1;transform:none}.sg-landing .glow-a,.sg-landing .glow-b{animation:none}}