.lw-hero,.lw-study,.lw-frame{--lw-gutter:3rem;--lw-expo:cubic-bezier(.16, 1, .3, 1);--lw-in:cubic-bezier(.32, 0, .67, 0);--lw-spring:cubic-bezier(.34, 1.56, .64, 1);--lw-glow:color-mix(in oklch, var(--primary) 75%, transparent)}@media (min-width:768px){.lw-hero,.lw-study,.lw-frame{--lw-gutter:4.5rem}}.lw-frame{max-width:72rem;padding-left:var(--lw-gutter);margin-inline:auto;padding-right:1.25rem;position:relative}@media (min-width:1280px){.lw-frame{padding-right:var(--lw-gutter)}}.lw-rail{top:0;bottom:0;left:calc(var(--lw-gutter) - 2rem);pointer-events:none;view-timeline-name:--lw-rail;width:3px;margin-left:-1.5px;position:absolute}.lw-rail:before{content:"";background:color-mix(in oklch, var(--primary) 20%, transparent);position:absolute;inset:0}.lw-rail-live{background:var(--primary);box-shadow:0 0 12px var(--lw-glow);transform-origin:top;position:absolute;inset:0;overflow:hidden}.lw-rail-live:after{content:"";background:repeating-linear-gradient(to bottom, transparent 0 38px, color-mix(in oklch, white 85%, var(--primary)) 38px 44px);animation:.8s linear infinite lw-current;position:absolute;inset:0}@keyframes lw-current{0%{transform:translateY(-44px)}to{transform:translateY(0)}}@supports (animation-timeline:view()){.lw-rail-scrub .lw-rail-live{animation:linear both lw-rail-grow;animation-timeline:--lw-rail;animation-range:cover 40vh cover calc(100% - 60vh)}}@keyframes lw-rail-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.lw-node{border:2px solid var(--primary);background:var(--background);border-radius:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;position:absolute;top:50%;left:-2rem}.lw-node:after{content:"";background:var(--primary);width:1.1rem;height:2px;margin-top:-1px;position:absolute;top:50%;left:100%}.lw-node-on{background:var(--primary);box-shadow:0 0 10px var(--lw-glow)}.lw-hero{color:var(--foreground);background:radial-gradient(ellipse 70% 60% at 50% 42%, color-mix(in oklch, var(--primary) 18%, var(--background)), var(--background) 75%);position:relative;overflow:clip}.lw-hero-grid{pointer-events:none;background-image:linear-gradient(to right, color-mix(in oklch, var(--primary) 10%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklch, var(--primary) 10%, transparent) 1px, transparent 1px);background-position:50%;background-size:64px 64px;animation:1.4s ease-out both lw-fade-in;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 45%,#000 25%,#0000 75%);mask-image:radial-gradient(at 50% 45%,#000 25%,#0000 75%)}.lw-hero-frame{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:clamp(36rem,100svh - 4rem,54rem);padding-block:5rem 4rem;display:flex}.lw-hero-stage{flex-direction:column;align-items:center;width:100%;display:flex}.lw-line{letter-spacing:-.02em;white-space:nowrap;padding-inline:.1em;font-size:clamp(1.3rem,5.4vw,4.25rem);font-weight:800;line-height:1.08;display:block;overflow:hidden}.lw-line-1{color:var(--foreground);padding-bottom:.1em}.lw-line-2{color:var(--muted-foreground);padding-top:.08em}.lw-punch{letter-spacing:-.035em;white-space:nowrap;margin-top:.1em;font-size:clamp(2.5rem,10.5vw,8.25rem);font-weight:900;line-height:1;display:block}.lw-punch-after{color:var(--info);text-shadow:0 0 .25em var(--lw-glow);padding:.06em .1em}.lw-bus{width:100%;height:3px;margin-block:.3rem .45rem;display:block;position:relative}.lw-bus:before{content:"";background:var(--primary);width:100vw;height:3px;box-shadow:0 0 18px var(--lw-glow), 0 0 2px color-mix(in oklch, white 70%, var(--primary));animation:lw-bus-draw .8s var(--lw-expo) .2s both;position:absolute;top:0;left:calc(50% - 50vw)}@keyframes lw-bus-draw{0%{transform:scaleX(0)}}.lw-spark,.lw-tip{pointer-events:none;opacity:0;background:radial-gradient(circle, color-mix(in oklch, white 80%, var(--warning)) 0 10%, color-mix(in oklch, var(--warning) 55%, transparent) 30%, transparent 70%);border-radius:50%;width:3rem;height:3rem;margin:-1.5rem 0 0 -1.5rem;position:absolute;top:1.5px;left:50%}.lw-spark{animation:.5s ease-out both lw-spark}@keyframes lw-spark{0%{opacity:0;transform:scale(.2)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.lw-tip-l{animation:lw-tip-l .8s var(--lw-expo) .2s both, lw-tip-fade .25s linear .75s both}.lw-tip-r{animation:lw-tip-r .8s var(--lw-expo) .2s both, lw-tip-fade .25s linear .75s both}@keyframes lw-tip-l{0%{transform:none}to{transform:translate(-50vw)}}@keyframes lw-tip-r{0%{transform:none}to{transform:translate(50vw)}}@keyframes lw-tip-fade{0%{opacity:1}to{opacity:0}}.lw-sparks>i{background:color-mix(in oklch, white 60%, var(--warning));opacity:0;width:12px;height:2px;animation:lw-fly .6s cubic-bezier(.2, .7, .4, 1) calc(.18s + var(--k,0) * 25ms) both;border-radius:2px;position:absolute;top:0;left:50%}.lw-sparks>i:first-child{--k:0;--x:-140px;--y:-60px;--r:23deg}.lw-sparks>i:nth-child(2){--k:1;--x:130px;--y:-80px;--r:-32deg}.lw-sparks>i:nth-child(3){--k:2;--x:-220px;--y:30px;--r:-8deg}.lw-sparks>i:nth-child(4){--k:3;--x:240px;--y:20px;--r:5deg}.lw-sparks>i:nth-child(5){--k:4;--x:-90px;--y:-110px;--r:50deg}.lw-sparks>i:nth-child(6){--k:5;--x:80px;--y:-120px;--r:-56deg}.lw-sparks>i:nth-child(7){--k:6;--x:-300px;--y:-20px;--r:4deg}.lw-sparks>i:nth-child(8){--k:7;--x:310px;--y:-35px;--r:-6deg}.lw-sparks>i:nth-child(9){--k:8;--x:-170px;--y:70px;--r:-22deg}.lw-sparks>i:nth-child(10){--k:9;--x:180px;--y:60px;--r:18deg}.lw-sparks>i:nth-child(11){--k:10;--x:-40px;--y:-90px;--r:66deg}.lw-sparks>i:nth-child(12){--k:11;--x:50px;--y:90px;--r:62deg}@keyframes lw-fly{0%{opacity:1;transform:translate(0, 0) rotate(var(--r))}to{opacity:0;transform:translate(var(--x), var(--y)) rotate(var(--r))}}.lw-hero-drop{pointer-events:none;width:3px;height:200vh;margin-left:-1.5px;position:absolute;top:1.5px;left:-2rem}.lw-hero-drop .lw-rail-live{animation:1.1s cubic-bezier(.65,0,.35,1) 1s both lw-rail-grow}.lw-hero-drop:before{content:"";background:var(--info);width:10px;height:10px;box-shadow:0 0 10px var(--lw-glow);z-index:1;border-radius:50%;animation:.3s ease-out 1s both lw-fade-in;position:absolute;top:-5px;left:-3.5px}.lw-hero-sub{font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--muted-foreground);margin-top:2rem;font-size:clamp(.8rem,1.6vw,1rem)}@keyframes lw-fade-in{0%{opacity:0}}@keyframes lw-fade-up{0%{opacity:0;transform:translateY(12px)}}.lw-study{background:var(--background);color:var(--foreground);position:relative;overflow-x:clip}.lw-flip{pointer-events:none;background:var(--background);clip-path:circle(0 at var(--lw-fx,75%) var(--lw-fy,30%));position:absolute;inset:0}.lw-study[data-reached~=fault]>.lw-flip{clip-path:circle(12000px at var(--lw-fx,75%) var(--lw-fy,30%));animation:1.6s linear both lw-flip}@keyframes lw-flip{0%{clip-path:circle(0 at var(--lw-fx,75%) var(--lw-fy,30%));animation-timing-function:cubic-bezier(.33,1,.68,1)}55%{clip-path:circle(150vmax at var(--lw-fx,75%) var(--lw-fy,30%));animation-timing-function:ease-in}to{clip-path:circle(12000px at var(--lw-fx,75%) var(--lw-fy,30%))}}.lw-study-tone{color:var(--foreground);position:relative}.lw-study[data-reached~=fault] :is(.lw-study-tone,.lw-step,.lw-step *,.lw-study-head,.lw-study-head *,.lw-figure-wrap,.lw-figure text,.lw-sym,.lw-busbar,.lw-dot,.lw-cable,.lw-node){transition:color .45s .3s,fill .45s .3s,stroke .45s .3s,background-color .45s .3s,border-color .45s .3s}.lw-study-grid{display:grid}.lw-figure-wrap{z-index:1;background:var(--background);justify-content:center;align-items:center;height:min(46svh,26rem);padding-block:.75rem;display:flex;position:sticky;top:4rem}@media (min-width:1024px){.lw-study-grid{grid-template-columns:minmax(0,25rem) minmax(0,1fr);column-gap:4rem}.lw-figure-wrap{background:0 0;grid-area:1/2/span 5;height:calc(100svh - 4rem);max-height:48rem;padding-block:2rem}.lw-step{grid-column:1}}.lw-step{flex-direction:column;justify-content:flex-end;min-height:90svh;padding-block:3rem 2rem;display:flex;position:relative}@media (min-width:1024px){.lw-step{justify-content:center;min-height:88svh;padding-block:3rem}}.lw-study[data-reached~=build] [data-step=build] .lw-node,.lw-study[data-reached~=flow] [data-step=flow] .lw-node,.lw-study[data-reached~=fault] [data-step=fault] .lw-node,.lw-study[data-reached~=size] [data-step=size] .lw-node,.lw-study[data-reached~=export] [data-step=export] .lw-node{background:var(--primary);box-shadow:0 0 10px var(--lw-glow)}.lw-figure{width:100%;height:100%;display:block;overflow:visible}.lw-figure text{font-family:var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif}.lw-t-name{fill:var(--foreground);font-size:15px;font-weight:600}.lw-t-detail,.lw-t-mono,.lw-t-res,.lw-t-tag,.lw-figure .lw-t-detail,.lw-figure .lw-t-mono,.lw-figure .lw-t-res,.lw-figure .lw-t-tag{font-family:var(--font-geist-mono), ui-monospace, monospace}.lw-t-detail{fill:var(--muted-foreground);font-size:12.5px}.lw-t-res{fill:var(--success);font-size:13.5px;font-weight:500}.lw-t-hp{fill:var(--foreground);font-size:13px;font-weight:700}.lw-t-bad{fill:var(--destructive)}.lw-t-ok{fill:var(--success)}.lw-sym{fill:none;stroke:var(--foreground);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.lw-sym-heavy{stroke-width:3.4px}.lw-busbar{stroke:var(--foreground);stroke-width:5px;transform-box:fill-box;transform-origin:26.5%}.lw-dot{fill:var(--foreground)}.lw-cable{fill:none;stroke:var(--muted-foreground);stroke-width:1.8px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}.lw-drop{transform-box:fill-box;transform-origin:50%}.lw-study:not([data-reached~=build]) :is(.lw-drop,.lw-busbar,.lw-dot,.lw-label,.lw-btn){opacity:0}.lw-study:not([data-reached~=build]) .lw-cable{stroke-dashoffset:1px}.lw-study[data-reached~=build] .lw-drop{animation:lw-sym-drop .7s var(--lw-spring) var(--d,0s) both}.lw-study[data-reached~=build] .lw-cable{animation:lw-cable-draw .35s ease-out var(--d,0s) both}.lw-study[data-reached~=build] .lw-busbar{animation:lw-bus-grow .5s var(--lw-expo) .4s both}.lw-study[data-reached~=build] .lw-dot{animation:.2s ease-out .7s both lw-fade-in}.lw-study[data-reached~=build] .lw-label{animation:.4s ease-out .9s both lw-fade-in}.lw-study[data-reached~=build] .lw-btn{animation:.3s ease-out 1.2s both lw-fade-in}.lw-drop[data-k="0"]{--d:0s}.lw-drop[data-k="1"]{--d:.15s}.lw-drop[data-k="2"]{--d:.5s}.lw-drop[data-k="3"]{--d:.57s}.lw-drop[data-k="4"]{--d:.64s}.lw-drop[data-k="5"]{--d:.65s}.lw-drop[data-k="6"]{--d:.72s}.lw-drop[data-k="7"]{--d:.79s}.lw-cable[data-k="0"]{--d:50ms}.lw-cable[data-k="1"]{--d:.25s}.lw-cable[data-k="2"]{--d:.5s}.lw-cable[data-k="3"]{--d:.55s}.lw-cable[data-k="4"],.lw-cable[data-k="5"]{--d:.6s}.lw-cable[data-k="6"]{--d:.65s}.lw-cable[data-k="7"]{--d:.7s}@keyframes lw-sym-drop{0%{opacity:0;transform:translateY(-22px)scale(.7)}40%{opacity:1}to{opacity:1;transform:none}}@keyframes lw-cable-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes lw-bus-grow{0%{transform:scaleX(0)}}.lw-btn-run-bg{fill:var(--primary)}.lw-btn-solved-bg{fill:var(--success)}.lw-btn-text{fill:var(--primary-foreground);font-size:13px;font-weight:600}.lw-btn-solved-text{fill:var(--background);font-size:13px;font-weight:600}.lw-btn-icon{fill:var(--primary-foreground)}.lw-btn-run{opacity:0}.lw-study:not([data-reached~=flow]) .lw-btn-run{opacity:1}.lw-study:not([data-reached~=flow]) .lw-btn-solved{opacity:0}.lw-study[data-reached~=flow] .lw-btn-run{animation:.15s linear .25s both lw-fade-out}.lw-study[data-reached~=flow] .lw-btn-solved{animation:.2s ease-out .3s both lw-fade-in}.lw-ripple{fill:none;stroke:var(--primary);stroke-width:2px;opacity:0;transform-box:fill-box;transform-origin:50%}.lw-study[data-reached~=flow]:not([data-reached~=fault]) .lw-ripple{animation:.5s ease-out both lw-ripple}@keyframes lw-ripple{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(3)}}@keyframes lw-fade-out{0%{opacity:1}to{opacity:0}}.lw-study:not([data-reached~=flow]) .lw-res{opacity:0}.lw-study[data-reached~=flow] .lw-res{animation:.35s ease-out .35s both lw-fade-up}.lw-flow{fill:none;stroke:var(--primary);stroke-width:2.6px;stroke-linecap:round;stroke-dasharray:7 13;opacity:0;animation:.6s linear infinite lw-dash}.lw-study[data-reached~=flow]:not([data-reached~=fault]) .lw-flow{opacity:1}@keyframes lw-dash{0%{stroke-dashoffset:20px}to{stroke-dashoffset:0}}.lw-study:not([data-reached~=fault]) .lw-fault{opacity:0}.lw-fflow{fill:none;stroke:var(--warning);stroke-width:2.8px;stroke-linecap:round;stroke-dasharray:7 13;animation:.35s linear infinite lw-dash}.lw-core-a{stop-color:color-mix(in oklch, white 85%, var(--warning))}.lw-core-b{stop-color:var(--warning);stop-opacity:.85}.lw-core-c{stop-color:var(--warning);stop-opacity:0}.lw-core{transform-box:fill-box;transform-origin:50%;animation:.9s ease-in-out infinite alternate lw-core}@keyframes lw-core{0%{transform:scale(.94)}to{transform:scale(1.06)}}.lw-ring,.lw-halo{fill:none;stroke:var(--warning);transform-box:fill-box;transform-origin:50%}.lw-ring{stroke-width:3px;opacity:0}.lw-study[data-reached~=fault] .lw-ring{animation:lw-ring .8s ease-out var(--d,0s) both}.lw-ring[data-k="1"]{--d:.12s}.lw-ring[data-k="2"]{--d:.24s}@keyframes lw-ring{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(5)}}.lw-halo{stroke-width:1.5px;opacity:.35;animation:1.7s ease-out infinite lw-halo}.lw-halo[data-k="1"]{animation-delay:.85s}@keyframes lw-halo{0%{opacity:.4;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}.lw-bolt{fill:none;stroke:color-mix(in oklch, white 80%, var(--info));stroke-width:4px;stroke-linejoin:round;opacity:0}.lw-flash{fill:#fff;opacity:0;pointer-events:none}.lw-study[data-reached~=fault] .lw-bolt{animation:.3s steps(6,end) both lw-bolt}.lw-study[data-reached~=fault] .lw-flash{animation:.4s ease-out both lw-flash}@keyframes lw-bolt{0%,30%,60%{opacity:1}15%,45%{opacity:.4}to{opacity:0}}@keyframes lw-flash{0%{opacity:.6}to{opacity:0}}.lw-readout-tag{letter-spacing:2px;fill:var(--warning);font-size:12px;font-weight:500}.lw-readout{letter-spacing:-1px;fill:var(--warning);font-size:30px;font-weight:700}.lw-study[data-reached~=fault] .lw-readout-g{animation:lw-fade-up .35s var(--lw-expo) .15s both}.lw-cb-pre,.lw-cb-bad{opacity:0}.lw-study:not([data-reached~=fault]) .lw-cb-pre{opacity:1}.lw-study[data-reached~=fault]:not([data-reached~=size]) .lw-cb-bad{opacity:1;animation:.2s ease-out .45s both lw-fade-in}.lw-study:not([data-reached~=size]) .lw-cb-ok{opacity:0}.lw-study[data-reached~=size] .lw-cb-ok{animation:lw-roll-in .35s var(--lw-expo) calc(.1s + var(--b,0) * .1s) both}[data-b="1"]{--b:1}[data-b="2"]{--b:2}@keyframes lw-roll-in{0%{opacity:0;transform:translateY(10px)}}.lw-tag-bg{fill:var(--background);stroke:var(--success);stroke-width:1.2px}.lw-t-tag{fill:var(--success);font-size:11px;font-weight:500}.lw-study:not([data-reached~=size]) .lw-tag{opacity:0}.lw-study[data-reached~=size] .lw-tag{animation:lw-fade-in .15s ease-out calc(.1s + var(--b,0) * 90ms) both}.lw-roll-m{transform:translateY(-128px)}.lw-roll-l{transform:translateY(-64px)}.lw-study[data-reached~=size] .lw-roll-m{animation:lw-roll-m .7s cubic-bezier(.2, .7, .3, 1) calc(.15s + var(--b,0) * 90ms) both}.lw-study[data-reached~=size] .lw-roll-l{animation:lw-roll-l .6s cubic-bezier(.2, .7, .3, 1) calc(.15s + var(--b,0) * 90ms) both}@keyframes lw-roll-m{0%{transform:translateY(0)}}@keyframes lw-roll-l{0%{transform:translateY(0)}}.lw-sheet{fill:none;stroke:var(--muted-foreground);stroke-width:1.5px;stroke-dasharray:1;stroke-dashoffset:0}.lw-titleblock-bg{fill:var(--background);stroke:var(--muted-foreground);stroke-width:1.2px}.lw-study:not([data-reached~=export]) .lw-sheet{stroke-dashoffset:1px}.lw-study:not([data-reached~=export]) .lw-titleblock{opacity:0}.lw-study[data-reached~=export] .lw-sheet{animation:.8s ease-in-out both lw-cable-draw}.lw-study[data-reached~=export] .lw-titleblock{animation:.35s ease-out .6s both lw-fade-up}.lw-no{letter-spacing:-.04em;flex-wrap:wrap;column-gap:.25em;font-size:clamp(2.6rem,9vw,7rem);font-weight:900;line-height:1;display:flex}.lw-no-roll{height:1em;display:block;overflow:hidden}.lw-no-roll>span{animation:5.4s cubic-bezier(.7,0,.2,1) infinite lw-no-roll;display:block}@keyframes lw-no-roll{0%,26%{transform:translateY(0)}33%,59%{transform:translateY(-1em)}66%,92%{transform:translateY(-2em)}to{transform:translateY(-3em)}}.lw-no-roll b{height:1em;font-weight:inherit;display:block}.lw-feeders{gap:2.5rem;padding-left:1.75rem;display:grid;position:relative}.lw-feeders:before{content:"";background:var(--foreground);transform-origin:top;width:3px;position:absolute;top:0;bottom:0;left:0}.lw-feeder{position:relative}.lw-feeder:before{content:"";background:var(--muted-foreground);width:1.75rem;height:2px;position:absolute;top:1.1rem;left:-1.75rem}.lw-breaker{width:14px;height:36px;color:var(--foreground);margin-bottom:.75rem;display:block}.lw-breaker path{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round}@media (min-width:768px){.lw-feeders{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding-top:3.5rem;padding-left:0}.lw-feeders:before{transform-origin:0;width:auto;height:3px;inset:0 0 auto}.lw-feeder:before{width:2px;height:3.5rem;top:-3.5rem;left:6px}}@supports (animation-timeline:view()){.lw-feeders:before{animation:linear both lw-feeder-bus;animation-timeline:view();animation-range:entry 10% cover 35%}}@keyframes lw-feeder-bus{0%{transform:scaleY(0)}}@media (min-width:768px){@keyframes lw-feeder-bus{0%{transform:scaleX(0)}}}.lw-old{background-image:repeating-linear-gradient(to bottom, color-mix(in oklch, var(--foreground) 4%, transparent) 0 1px, transparent 1px 4px)}.lw-new{box-shadow:0 0 0 1px var(--primary), 0 20px 60px -30px var(--lw-glow)}.lw-faq summary{cursor:pointer;list-style:none}.lw-faq summary::-webkit-details-marker{display:none}.lw-faq-icon{transition:transform .15s ease-out}.lw-faq[open] .lw-faq-icon{transform:rotate(45deg)}.lw-frame-even{padding-inline:1.25rem}.lw-page-bus{background:var(--primary);width:min(24rem,70%);height:3px;box-shadow:0 0 18px var(--lw-glow);animation:lw-bus-draw .8s var(--lw-expo) .15s both;border-radius:2px;margin:1.75rem auto 2rem;display:block}.lw-end-bus{background:var(--primary);width:min(20rem,70%);height:3px;box-shadow:0 0 14px var(--lw-glow);border-radius:2px;margin-inline:auto;display:block}@supports (animation-timeline:view()){.lw-end-bus{animation:linear both lw-end-bus;animation-timeline:view();animation-range:entry 20% cover 40%}}@keyframes lw-end-bus{0%{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){:is(.lw-hero,.lw-study,.lw-frame),:is(.lw-hero,.lw-study,.lw-frame) *,:is(.lw-hero,.lw-study,.lw-frame) :before,:is(.lw-hero,.lw-study,.lw-frame) :after{transition:none!important;animation:none!important}}