@font-face{font-family:TFBraille;src:url(/fonts/juliamono-braille.woff2)format("woff2");unicode-range:U+28??;font-display:block}.ascii-bg{--tf-dim:#24406e;--tf-mid:#3f6fc4;--tf-bright:#9dd6ff;--tf-ice:#e8f6ff;--tf-ease:cubic-bezier(.32, .72, 0, 1)}.tf-logo{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:flex-start;font-family:TFBraille,JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-size:max(14px,min(2.1vw,30px));line-height:1.02;animation:6.5s ease-in-out infinite alternate tf-loom,11s linear infinite tf-threat;display:flex}@media (max-width:767px){.tf-logo{font-size:4.4vw}}@keyframes tf-loom{0%{filter:drop-shadow(0 0 18px #3f6fc440);transform:scale(1)}to{filter:drop-shadow(0 0 30px #3f6fc466);transform:scale(1.035)}}@keyframes tf-threat{0%,90.5%,93.5%,to{opacity:1}91%{opacity:.55;filter:drop-shadow(0 0 26px #6db8ff8c)brightness(1.5)}91.8%{opacity:1;filter:drop-shadow(0 0 34px #9dd6ffbf)brightness(1.15)}92.4%{opacity:.7;filter:drop-shadow(0 0 22px #6db8ff73)brightness(1.6)}93%{opacity:1}}.tf-logo .r{white-space:pre;color:var(--tf-mid);animation:tf-reveal .9s var(--tf-ease) calc(var(--i) * 55ms) both, tf-pulse 3.6s ease-in-out calc(var(--i) * .12s + 1.4s) infinite, tf-sway 4.8s ease-in-out calc(var(--i) * -200ms) infinite alternate}@keyframes tf-reveal{0%{opacity:0;filter:blur(5px);transform:translateY(14px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes tf-pulse{0%,55%,to{color:var(--tf-mid);text-shadow:none}12%{color:var(--tf-ice);text-shadow:0 0 14px #9dd6ffe6,0 0 38px #3f6fc480}30%{color:var(--tf-bright);text-shadow:0 0 6px #9dd6ff4d}}@keyframes tf-sway{0%{transform:translateX(calc(var(--amp) * -1px))}to{transform:translateX(calc(var(--amp) * 1px))}}.tf-logo .t{animation:tf-wiggle 3s ease-in-out var(--td) infinite;display:inline-block}@keyframes tf-wiggle{0%,to{transform:translate(calc(var(--ax) * -1px), 0) rotate(calc(var(--rot) * -1deg))}25%{transform:translate(calc(var(--ax) * -.3px), calc(var(--ay) * 1px)) rotate(calc(var(--rot) * .5deg))}50%{transform:translate(calc(var(--ax) * 1px), calc(var(--ay) * .4px)) rotate(calc(var(--rot) * 1deg))}75%{transform:translate(calc(var(--ax) * .3px), calc(var(--ay) * -1px)) rotate(calc(var(--rot) * -.5deg))}}.eye{transform-origin:50% 78%;color:var(--tf-ice);animation:7s ease-in-out infinite tf-stare,2.6s ease-in-out infinite tf-eyeglow;display:inline-block}.eye-r{animation-delay:70ms,0s}@keyframes tf-stare{0%,22%,58%,to{transform:scaleY(1)}34%,46%{transform:scaleY(.45)}88%{transform:scaleY(1)}90.5%{transform:scaleY(.08)}93%{transform:scaleY(1)}}@keyframes tf-eyeglow{0%,to{text-shadow:0 0 8px #9dd6ffcc,0 0 22px #6db8ff66}50%{text-shadow:0 0 16px #e8f6ff,0 0 44px #6db8ffb3,0 0 70px #3f6fc466}}@media (prefers-reduced-motion:reduce){.tf-logo,.tf-logo .r,.tf-logo .t,.eye{animation:none}.tf-logo .r{opacity:1;color:var(--tf-bright)}.eye{color:var(--tf-ice);text-shadow:0 0 10px #9dd6ffb3}}.ascii-hero-title{color:#7ebae4;letter-spacing:normal;-webkit-user-select:none;user-select:none;pointer-events:none;-webkit-font-smoothing:antialiased;opacity:1;margin:12px 0 0;font-family:JetBrains Mono,Noto Sans Mono,Cascadia Code,Liberation Mono,SF Mono,Monaco,Consolas,monospace;font-size:15px;line-height:1.2;animation:1.2s ease-out .1s asciiReveal;display:block;overflow:hidden}.page-wrap h2[style*=font-size\:12px]{font-size:12px!important}.opts-ref summary::-webkit-details-marker{display:none}.opts-ref summary::marker{content:""}.opts-ref[open]>summary{border-bottom:1px solid #ffffff14}.opts-ref .opts-caret{transition:transform .2s;display:inline-block}.opts-ref[open] .opts-caret{transform:rotate(90deg)}.opts-ref summary:hover{background:#151b24!important}.opts-ref div[style*="grid-template-columns:1fr 1fr 2fr"]{column-gap:14px}@keyframes primerPulse{0%,to{border-color:#7ebae438;box-shadow:0 0 #7ebae400}50%{border-color:#7ebae4b3;box-shadow:0 0 16px 2px #7ebae42e}}.nix-primer:not([open]){animation:2.6s ease-in-out infinite primerPulse}.nix-primer summary::-webkit-details-marker{display:none}.nix-primer summary::marker{content:""}.nix-primer summary:hover{background:#7ebae412;border-radius:10px}.nix-primer .primer-caret{transition:transform .2s;display:inline-block}.nix-primer[open] .primer-caret{transform:rotate(90deg)}.nix-primer[open] .primer-hint{display:none}@keyframes asciiReveal{0%{filter:blur(2px);transform:translateY(8px)}60%{filter:blur();text-shadow:0 0 30px #7ebae466;transform:translateY(0)}to{filter:blur();text-shadow:0 0 15px #7ebae433;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.nix-primer:not([open]){border-color:#7ebae480!important;animation:none!important}.ascii-hero-title{opacity:1!important;filter:blur()!important;text-shadow:0 0 15px #7ebae433!important;animation:none!important;transform:none!important}}.hero-stat-break{display:none}@media (min-width:1024px){.hero-stat-break{display:inline}}@media (max-width:1023px){.page-wrap section[id]{padding:60px 24px!important}.page-wrap section[id]>div[style*=max-width\:1200px],.page-wrap section[id]>div[style*=max-width\:1000px],.page-wrap section[id]>div[style*=max-width\:760px]{padding-left:24px!important;padding-right:24px!important}.page-wrap h1{max-width:100%!important;font-size:48px!important}.page-wrap h2{font-size:36px!important}.page-wrap div[style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:repeat(2,1fr)!important}.page-wrap #features .feat-capstone{grid-column:auto!important}}@media (max-width:767px){.page-wrap section[id]{padding:48px 16px!important}.page-wrap section[id]>div[style*=max-width\:1200px],.page-wrap section[id]>div[style*=max-width\:1000px],.page-wrap section[id]>div[style*=max-width\:760px]{padding-left:16px!important;padding-right:16px!important}.page-wrap h1{letter-spacing:-1px!important;font-size:32px!important;line-height:1.05!important}.page-wrap div[style*=letter-spacing\:2px]{white-space:nowrap!important;letter-spacing:1px!important;font-size:11px!important}.page-wrap h2{letter-spacing:-.5px!important;font-size:28px!important}.page-wrap p[style*=font-size\:21px],.page-wrap p[style*=font-size\:19px]{font-size:16px!important}.page-wrap #ship h2{font-size:28px!important}#ship h2 br{display:none}.page-wrap div[style*="grid-template-columns:repeat(3,1fr)"],.page-wrap div[style*="grid-template-columns:repeat(2,1fr)"],.page-wrap #compare div[style*="grid-template-columns:repeat(2,1fr)"]{grid-template-columns:1fr!important}.page-wrap #modules div[style*="grid-template-columns:1fr 1fr 2fr"]{grid-template-columns:1fr!important;font-size:12px!important}.page-wrap #modules div[style*="grid-template-columns:1fr 1fr 2fr"]>div{padding:8px 16px!important}.page-wrap #roadmap div[style*="grid-template-columns:1fr 1fr"][style*=gap\:6px]{grid-template-columns:1fr!important}.page-wrap div[style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr)!important}.page-wrap div[style*=font-size\:46px]{font-size:32px!important}.page-wrap header>div{flex-wrap:nowrap!important;gap:12px!important;padding:10px 16px!important}#nav-toggle{align-items:center;display:inline-flex!important}.page-wrap header>div>a[href*=github]{display:none!important}.page-wrap header nav{z-index:60!important;white-space:normal!important;background:#0a0d12fa!important;border-bottom:1px solid #ffffff14!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:4px 0 8px!important;font-size:14px!important;display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;box-shadow:0 14px 26px #00000073!important}.page-wrap header.nav-open nav{display:flex!important}.page-wrap header nav a{border-bottom:1px solid #ffffff0a!important;padding:12px 20px!important}.page-wrap header nav span{margin-right:5px;display:inline!important}.page-wrap #overview span[style*="color:#c0caf5"]{word-break:break-all!important}.page-wrap #cookbook div[style*="line-height:1.9"]{overflow-x:auto!important}.page-wrap #architecture div[style*=display\:flex][style*=gap\:24px]{scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;flex-direction:row!important;gap:12px!important;padding-bottom:10px!important;overflow-x:auto!important}.page-wrap #architecture div[style*=display\:flex][style*=gap\:24px]>div{scroll-snap-align:start!important;flex:0 0 80%!important}.page-wrap #architecture svg[viewBox="0 0 1000 48"]{display:none!important}.page-wrap #architecture .arch-connector-m{display:flex!important}.page-wrap #architecture div[style*=margin-top\:22px]{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.page-wrap #architecture div[style*=margin-top\:22px]>div{flex-wrap:wrap!important;gap:16px!important}.page-wrap #compare div[style*=border-radius\:12px][style*=overflow\:hidden]{-webkit-overflow-scrolling:touch;overflow-x:auto!important}.page-wrap #compare div[style*="grid-template-columns:1.4fr 1fr 1fr 1fr 1fr"]{min-width:640px}.page-wrap #overview div[style*=display\:flex][style*=justify-content\:space-between][style*="padding:11px 18px"]{flex-direction:column!important;align-items:flex-start!important;gap:6px!important}.ascii-hero-title{font-size:min(15px,1.72414vw - 1.10345px)!important;display:block!important;overflow-x:hidden!important}.page-wrap #overview a[href*=path-]{gap:8px!important;padding:16px!important}.page-wrap #overview a[href*=path-] span[style*=font-size\:28px]{font-size:22px!important}.page-wrap #overview a[href*=path-] h3{font-size:13px!important}.page-wrap #overview a[href*=path-] p{font-size:12px!important}.page-wrap #overview a[href*=path-] span[style*=font-size\:11px]{font-size:10.5px!important}.page-wrap #overview>div[style*=z-index]>div[style*=display\:flex][style*=gap\:14px]{flex-direction:column!important;align-items:stretch!important}.page-wrap #overview>div[style*=z-index]>div[style*=display\:flex][style*=gap\:14px] a{text-align:center!important}.page-wrap #ship div[style*=display\:flex][style*=justify-content\:center]{flex-direction:column!important;align-items:stretch!important}.page-wrap #ship div[style*=display\:flex][style*=justify-content\:center] a{text-align:center!important}.page-wrap #features div[style*=border-right\:1px],.page-wrap #cookbook a[style*=border-right\:1px]{border-right:none!important}.page-wrap #roadmap span[style*=border-radius\:5px]{white-space:nowrap!important;letter-spacing:.5px!important;flex-shrink:0!important;padding:3px 7px!important;font-size:10px!important}.page-wrap #roadmap div[style*=grid-template-columns\:160px]{grid-template-columns:1fr!important}.page-wrap #roadmap div[style*=text-align\:right]{text-align:left!important;padding-left:28px!important}.page-wrap footer{padding:48px 16px!important}.page-wrap footer>div{text-align:center!important;justify-content:center!important}.page-wrap #compare div[style*="grid-template-columns:1.4fr 1fr 1fr 1fr 1fr"]{font-size:12px!important}}@media (max-width:1140px) and (min-width:768px){.page-wrap header>div{gap:12px!important;padding:10px 24px!important}#nav-toggle{align-items:center;display:inline-flex!important}.page-wrap header>div>a[href*=github]{display:none!important}.page-wrap header nav{z-index:60!important;white-space:normal!important;background:#0a0d12fa!important;border-bottom:1px solid #ffffff14!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:4px 0 8px!important;font-size:14px!important;display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;box-shadow:0 14px 26px #00000073!important}.page-wrap header.nav-open nav{display:flex!important}.page-wrap header nav a{border-bottom:1px solid #ffffff0a!important;padding:12px 28px!important}.page-wrap header nav span{margin-right:5px;display:inline!important}}@media (max-width:1023px){.page-wrap #compare div[style*=border-radius\:12px][style*=overflow\:hidden]{-webkit-overflow-scrolling:touch;overflow-x:auto!important}.page-wrap #compare div[style*="grid-template-columns:1.4fr 1fr 1fr 1fr 1fr"]{min-width:760px;grid-template-columns:1.9fr 1fr 1fr 1fr 1fr!important;font-size:12px!important}}@media (max-width:479px){.page-wrap h1{font-size:28px!important}.page-wrap div[style*=letter-spacing\:2px]{letter-spacing:.5px!important;font-size:10px!important}.page-wrap header nav a{padding:8px 4px!important;font-size:10.5px!important}.page-wrap div[style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr 1fr!important}.page-wrap div[style*=font-size\:46px]{font-size:28px!important}}
