.ng{--ng-accent:#2563eb;--ng-accent-soft:#2563eb1a;--ng-accent-2:#0891b2;--ng-line:#e4e4e7;--ng-line-soft:#f4f4f5;--ng-surface:#fff;--ng-surface-2:#fafafa;position:relative}.dark .ng{--ng-accent:#60a5fa;--ng-accent-soft:#60a5fa24;--ng-accent-2:#22d3ee;--ng-line:#27272a;--ng-line-soft:#1e1e21;--ng-surface:#18181b;--ng-surface-2:#111113}html:has(.ng){scroll-padding-top:var(--site-header);scroll-behavior:smooth}@media (min-width:1024px) and (min-height:760px){html:has(.ng){scroll-snap-type:y proximity}}.ng-act{min-height:calc(100svh - var(--site-header));scroll-snap-align:start;border-top:1px solid var(--ng-line);align-items:center;padding:5rem 0;display:flex;position:relative;overflow:hidden}.ng-act--alt{background:#fafafab3}.dark .ng-act--alt{background:#18181b66}.ng-grid{pointer-events:none;background-image:linear-gradient(90deg,#00000008 1px,#0000 1px),linear-gradient(#00000008 1px,#0000 1px);background-size:3rem 3rem;animation:34s linear infinite ngGridDrift;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 65%,#000 10%,#0000 78%);mask-image:radial-gradient(70% 60% at 65%,#000 10%,#0000 78%)}.dark .ng-grid{background-image:linear-gradient(90deg,#ffffff05 1px,#0000 1px),linear-gradient(#ffffff05 1px,#0000 1px)}@keyframes ngGridDrift{to{background-position:3rem 3rem,3rem 3rem}}.ng-lights{pointer-events:none;background:radial-gradient(circle at 88% -5%,#2563eb1f,#0000 42%),radial-gradient(circle at 5% 105%,#22d3ee1a,#0000 44%);position:absolute;inset:0}.dark .ng-lights{background:radial-gradient(circle at 88% -5%,#2563eb38,#0000 42%),radial-gradient(circle at 5% 105%,#22d3ee24,#0000 44%)}.ng-rise{opacity:0;transform:translateY(1.1rem)}[data-inview=true] .ng-rise{animation:.76s cubic-bezier(.16,1,.3,1) both ngRise;animation-delay:calc(var(--i,0) * .1s)}@keyframes ngRise{0%{opacity:0;transform:translateY(1.1rem)}to{opacity:1;transform:translate(0,0)}}.ng-railbar{top:calc(var(--site-header) + 1.5rem);z-index:3;pointer-events:none;flex-direction:column;justify-content:center;display:none;position:fixed;bottom:1.5rem;left:max(.5rem,50% - 850px)}@media (min-width:1152px) and (min-height:700px){.ng-railbar{display:flex}}.ng-railbar__list{margin:0;padding:0;list-style:none;position:relative}.ng-railbar__track,.ng-railbar__progress{border-radius:2px;width:2px;position:absolute;left:4px}.ng-railbar__track{background:var(--ng-line);top:.875rem;bottom:.875rem}.ng-railbar__progress{height:calc(var(--progress,0) * (100% - 1.75rem));background:linear-gradient(180deg, var(--ng-accent), var(--ng-accent-2));transition:height .46s cubic-bezier(.16,1,.3,1);top:.875rem}.ng-railbar__tick{pointer-events:auto;align-items:center;width:1.5rem;height:1.75rem;text-decoration:none;transition:color .3s;display:flex;position:relative}.ng-railbar__dot{z-index:1;border:2px solid var(--ng-surface);background:var(--ng-line);border-radius:9999px;flex:none;width:10px;height:10px;transition:background-color .32s,box-shadow .32s,transform .32s cubic-bezier(.16,1,.3,1);position:relative}.dark .ng-railbar__dot{background:#3f3f46}.ng-railbar__tick[data-state=done] .ng-railbar__dot{background:var(--ng-accent);opacity:.55}.ng-railbar__tick[data-state=active] .ng-railbar__dot{background:var(--ng-accent);box-shadow:0 0 0 4px var(--ng-accent-soft);transform:scale(1.25)}.ng-railbar__tick:hover .ng-railbar__dot,.ng-railbar__tick:focus-visible .ng-railbar__dot{background:var(--ng-accent);transform:scale(1.25)}.ng-railbar__tick:focus-visible{outline:2px solid var(--ng-accent);outline-offset:2px;border-radius:9999px}.ng-railbar__label{pointer-events:none;border:1px solid var(--ng-line);background:var(--ng-surface);white-space:nowrap;opacity:0;border-radius:9999px;padding:.2rem .6rem;font-size:.7rem;font-weight:600;transition:opacity .28s,transform .28s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:1.5rem;transform:translate(-.35rem,-50%)}.ng-railbar__tick:hover .ng-railbar__label,.ng-railbar__tick:focus-visible .ng-railbar__label{opacity:1;transform:translateY(-50%)}@media (min-width:1750px){.ng-railbar__tick[data-state=active] .ng-railbar__label{opacity:1;transform:translateY(-50%)}}@media (prefers-reduced-motion:reduce){.ng-railbar__progress{transition:none}}.ng-panel{border:1px solid var(--ng-line);background:var(--ng-surface);border-radius:.75rem;position:relative;overflow:hidden}.ng-panel__strip{border-bottom:1px solid var(--ng-line);background:var(--ng-surface-2);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1rem;display:flex}.ng-panel__pulse:before{content:"";background:currentColor;border-radius:9999px;width:6px;height:6px;margin-right:.45rem;animation:1.9s ease-in-out infinite ngPulse;display:inline-block}@keyframes ngPulse{0%,to{opacity:1;box-shadow:0 0 0 0 var(--ng-accent-soft)}50%{opacity:.4;box-shadow:0 0 0 5px #0000}}.ng-row{border-bottom:1px solid var(--ng-line-soft);align-items:center;gap:.75rem;padding:.6rem 1rem;display:grid;position:relative}.ng-row:last-child{border-bottom:0}.ng-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (min-width:1536px){.ng-row,.ng-vehicle,.ng-query{padding-block:.85rem}.ng-method{padding:1rem 1.15rem}.ng-milestone{padding-block:.65rem}.ng-panel__strip{padding-block:.85rem}.ng-field{gap:.65rem}}.ng-lanes{flex-direction:column;gap:.875rem;min-width:0;display:flex;-webkit-mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000);mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000)}.ng-lane{min-width:0;overflow:hidden}.ng-lane__track{width:max-content;animation:ngLane calc(34s + var(--lane,0) * 8s) linear infinite;animation-delay:calc(var(--lane,0) * -7s);gap:.875rem;display:flex}@keyframes ngLane{to{transform:translate(-50%)}}.ng-parcel{border:1px solid var(--ng-line);background:var(--ng-surface);white-space:nowrap;border-radius:.6rem;flex:none;align-items:center;gap:.5rem;padding:.5rem .8rem;display:flex}.ng-parcel__icon{width:.9rem;height:.9rem;color:var(--ng-accent);flex:none}.ng-parcel__ref{font-variant-numeric:tabular-nums;font-size:.7rem}.ng-parcel__title{font-size:.8125rem}.ng-parcel__area{border-left:1px solid var(--ng-line);padding-left:.55rem;font-size:.7rem}@media (min-width:1536px){.ng-parcel{padding:.65rem 1rem}.ng-parcel__title{font-size:.875rem}.ng-parcel__ref,.ng-parcel__area{font-size:.75rem}}.ng-query{border-bottom:1px solid var(--ng-line);align-items:center;gap:.6rem;padding:.85rem 1rem;display:flex}.ng-query__text{white-space:nowrap;vertical-align:bottom;max-width:100%;display:inline-block;overflow:hidden}[data-inview=true] .ng-query__text{animation:9s steps(38,end) infinite ngType}@keyframes ngType{0%{width:0}22%,82%{width:100%}96%,to{width:0}}.ng-query__caret{background:var(--ng-accent);flex:none;width:1px;height:1.05em;animation:1.05s steps(2,end) infinite ngCaret}@keyframes ngCaret{50%{opacity:0}}[data-inview=true] .ng-result{animation:9s cubic-bezier(.16,1,.3,1) infinite ngResult;animation-delay:calc(2s + var(--i) * .32s)}@keyframes ngResult{0%{opacity:0;background-color:var(--ng-accent-soft);transform:translateY(-.4rem)}5%{opacity:1;background-color:var(--ng-accent-soft);transform:translate(0,0)}14%,74%{opacity:1;background-color:#0000;transform:translate(0,0)}88%,to{opacity:0;background-color:#0000;transform:translateY(-.4rem)}}.ng-vehicle{border-bottom:1px solid var(--ng-line-soft);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;display:flex;position:relative}.ng-vehicle:last-child{border-bottom:0}[data-inview=true] .ng-vehicle{animation:9s linear infinite ngVehicle;animation-delay:calc(var(--i) * 1.5s)}@keyframes ngVehicle{0%,16%{background-color:var(--ng-accent-soft)}17%,to{background-color:#0000}}.ng-vehicle__pick{opacity:0;flex:none;transform:scale(.6)}[data-inview=true] .ng-vehicle__pick{animation:9s cubic-bezier(.16,1,.3,1) infinite ngPick;animation-delay:calc(var(--i) * 1.5s)}@keyframes ngPick{0%{opacity:0;transform:scale(.6)}4%,15%{opacity:1;transform:scale(1)}17%,to{opacity:0;transform:scale(.6)}}[data-inview=true] .ng-quoteline{animation:8s cubic-bezier(.16,1,.3,1) infinite ngStamp;animation-delay:calc(var(--i) * .3s)}@keyframes ngStamp{0%{opacity:0;transform:translate(-.5rem)}8%,76%{opacity:1;transform:translate(0,0)}90%,to{opacity:0;transform:translate(-.5rem)}}.ng-settle{display:inline-block}[data-inview=true] .ng-settle{animation:8s ease-out infinite ngSettle;animation-delay:calc(.18s + var(--i) * .3s)}@keyframes ngSettle{0%,6%{opacity:0;filter:blur(4px)}18%,76%{opacity:1;filter:blur()}90%,to{opacity:0;filter:blur(4px)}}.ng-stamp{border:1px solid var(--ng-accent);color:var(--ng-accent);border-radius:9999px;align-items:center;gap:.45rem;padding:.35rem .7rem;display:inline-flex}[data-inview=true] .ng-stamp{animation:8s cubic-bezier(.16,1,.3,1) 1.9s infinite ngStampIn}@keyframes ngStampIn{0%{opacity:0;transform:scale(.92)}6%,70%{opacity:1;transform:scale(1)}84%,to{opacity:0;transform:scale(.92)}}.ng-mark{border:1px solid var(--ng-line);background:var(--ng-surface-2);opacity:0;border-radius:.3rem;align-items:center;gap:.3rem;padding:.12rem .45rem;display:inline-flex;transform:translateY(.3rem)}[data-inview=true] .ng-mark{animation:9s cubic-bezier(.16,1,.3,1) infinite ngMark;animation-delay:calc(var(--row) * .42s + var(--col) * .13s)}@keyframes ngMark{0%{opacity:0;border-color:var(--ng-line);transform:translateY(.3rem)}4%{opacity:1;border-color:var(--ng-accent);transform:translate(0,0)}14%,74%{opacity:1;border-color:var(--ng-line);transform:translate(0,0)}88%,to{opacity:0;border-color:var(--ng-line);transform:translateY(.3rem)}}.ng-method{border:1px solid var(--ng-line);background:var(--ng-surface);border-radius:.6rem;align-items:flex-start;gap:.7rem;padding:.8rem 1rem;display:flex}[data-inview=true] .ng-method{animation:8s ease-in-out infinite ngMethod;animation-delay:calc(var(--i) * 4s)}@keyframes ngMethod{0%,44%{border-color:var(--ng-accent);background-color:var(--ng-accent-soft)}50%,to{border-color:var(--ng-line);background-color:#0000}}.ng-step{align-items:center;gap:.65rem;padding:.4rem 0;display:flex}.ng-step__dot{border:1px solid var(--ng-line);background:var(--ng-surface);border-radius:9999px;flex:none;width:8px;height:8px}[data-inview=true] .ng-step__dot{animation:8s cubic-bezier(.16,1,.3,1) infinite ngStepDot;animation-delay:calc(var(--i) * .62s)}@keyframes ngStepDot{0%,2%{background:var(--ng-surface);border-color:var(--ng-line);box-shadow:none}8%{background:var(--ng-accent);border-color:var(--ng-accent);box-shadow:0 0 0 5px var(--ng-accent-soft)}16%,82%{background:var(--ng-accent);border-color:var(--ng-accent);box-shadow:0 0 #0000}96%,to{background:var(--ng-surface);border-color:var(--ng-line);box-shadow:none}}.ng-thread{padding-left:.5rem;position:relative}.ng-thread:before{content:"";background:var(--ng-line);border-radius:2px;width:2px;position:absolute;top:.75rem;bottom:.75rem;left:.5rem}.ng-thread__fill{background:linear-gradient(180deg, var(--ng-accent), var(--ng-accent-2));border-radius:2px;width:2px;height:0;position:absolute;top:.75rem;left:.5rem}[data-inview=true] .ng-thread__fill{animation:8s cubic-bezier(.33,1,.68,1) infinite ngThread}@keyframes ngThread{0%{height:0}62%,84%{height:calc(100% - 1.5rem)}97%,to{height:0}}.ng-milestone{align-items:center;gap:.9rem;padding:.5rem 0;display:flex;position:relative}.ng-milestone__node{z-index:1;border:2px solid var(--ng-line);background:var(--ng-surface);border-radius:9999px;flex:none;width:10px;height:10px;margin-left:-4px;position:relative}[data-inview=true] .ng-milestone__node{animation:8s cubic-bezier(.16,1,.3,1) infinite ngNode;animation-delay:calc(var(--i) * .56s)}@keyframes ngNode{0%,1%{border-color:var(--ng-line);background:var(--ng-surface);transform:scale(1)}5%{border-color:var(--ng-accent);background:var(--ng-accent);transform:scale(1.5)}12%,84%{border-color:var(--ng-accent);background:var(--ng-accent);transform:scale(1)}97%,to{border-color:var(--ng-line);background:var(--ng-surface);transform:scale(1)}}[data-inview=true] .ng-milestone__label{animation:8s linear infinite ngMilestoneLabel;animation-delay:calc(var(--i) * .56s)}@keyframes ngMilestoneLabel{0%,4%{opacity:.45}10%,84%{opacity:1}97%,to{opacity:.45}}.ng-field{grid-template-columns:repeat(var(--cols), 1fr);gap:.5rem;max-width:44rem;display:grid}.ng-field__mark{aspect-ratio:1;border:1px solid var(--ng-line);opacity:.5;border-radius:.25rem}[data-inview=true] .ng-field__mark{animation:9s cubic-bezier(.16,1,.3,1) infinite ngBloom;animation-delay:calc(var(--d) * 95ms)}@keyframes ngBloom{0%,6%{opacity:.35;border-color:var(--ng-line);background:0 0;transform:scale(.9)}16%{opacity:1;border-color:var(--ng-accent);background:var(--ng-accent);transform:scale(1)}30%,78%{opacity:1;border-color:var(--ng-accent);background:var(--ng-accent-soft);transform:scale(1)}94%,to{opacity:.35;border-color:var(--ng-line);background:0 0;transform:scale(.9)}}@media (prefers-reduced-motion:reduce){html:has(.ng){scroll-snap-type:none;scroll-behavior:auto}.ng *,.ng :before,.ng :after{transition:none!important;animation:none!important}.ng-rise{opacity:1;transform:none}.ng-query__text{width:auto}.ng-query__caret,.ng-vehicle__pick{opacity:0}.ng-vehicle:first-child{background-color:var(--ng-accent-soft)}.ng-vehicle:first-child .ng-vehicle__pick{opacity:1;transform:scale(1)}.ng-mark{opacity:1;transform:none}.ng-method:first-child{border-color:var(--ng-accent);background-color:var(--ng-accent-soft)}.ng-step__dot,.ng-milestone__node{background:var(--ng-accent);border-color:var(--ng-accent)}.ng-thread__fill{height:calc(100% - 1.5rem)}.ng-field__mark{opacity:1;border-color:var(--ng-accent);background:var(--ng-accent-soft)}.ng-lane__track{transform:translate3d(calc(var(--lane,0) * -6.5rem), 0, 0)}}
