.ctl .dwg-tall{display:none}@media (max-width: 620px){.ctl .dwg-wide{display:none}.ctl .dwg-tall{display:block;max-width:440px;margin:0 auto}}.ctl-dwg{stroke-width:1.5}.ctl-dwg .nm{fill:var(--ink);font-size:12.5px;font-weight:620}.ctl-dwg .sb{fill:var(--ink-3);font-size:10.5px;font-weight:500}.ctl-dwg .hd text{fill:var(--ink-3)}.ctl-dwg .scn text{fill:var(--control)}.ctl-dwg .c-ctl{color:var(--control);stroke:var(--control)}.ctl-dwg .c-net{color:var(--connected);stroke:var(--connected)}.ctl-dwg .c-lt{color:var(--light);stroke:var(--light)}.ctl-dwg .fillp{fill:var(--paper-3)}.ctl-dwg .thin{stroke-width:.9}.ctl-dwg .air{stroke-dasharray:1.5 4;stroke-width:1.4}.ctl-dwg .dash{stroke-dasharray:5 4}.ctl-dwg .bus{stroke-width:2.2}.ctl-dwg .term path{fill:var(--paper-3);stroke-width:1.2}.ctl-dwg .ctrl-box{stroke-width:2.2}.ctl-dwg .ctrl-t{fill:var(--ink);font-size:14px;font-weight:650;font-stretch:108%}.ctl-dwg .ctrl text.t-anno{fill:var(--ink-3)}.ctl-dwg .mods rect{fill:var(--paper-2);stroke-width:1}.ctl-dwg .mod-hl{fill:var(--control);fill-opacity:.14;stroke-width:2}.ctl-dwg .led{fill:var(--control);stroke:none}.ctl-dwg .flash{fill:none;stroke:var(--control);stroke-width:2;opacity:0}.ctl-dwg .glow{fill:url(#a-glow);stroke:none}.ctl-dwg .btn-lit{fill:var(--control);stroke:none}.ctl-dwg .ring{fill:none;stroke:var(--control);stroke-width:1.2;stroke-dasharray:2 3}.ctl-dwg .ripples,.ctl-dwg .waves{stroke-width:1.3}.ctl-dwg .key .sig{fill:var(--control);stroke:none}.ctl-dwg .devs{stroke:var(--ink);color:var(--ink)}.ctl-dwg .post{fill:var(--ink);stroke:none}.ctl-dwg .leaf path{stroke-width:3.5;stroke-linecap:butt}.ctl-dwg .swing{stroke-width:.9;stroke-dasharray:3 3}.ctl-dwg .track{stroke-width:2}.ctl-dwg .cur path:first-child{fill:var(--paper-3)}.ctl-dwg .fold{stroke-width:.7}.ctl-dwg .blades path{fill:currentColor;fill-opacity:.2;stroke-width:1.1}.ctl-dwg .airflow{stroke:var(--control);stroke-width:1.3;stroke-dasharray:3 2}.ctl-dwg .tag rect{fill:var(--control);stroke:none}.ctl-dwg .tag text{fill:#fff;font-size:9.5px;font-weight:700;font-stretch:78%;letter-spacing:.12em;text-transform:uppercase;text-anchor:middle}.ctl-dwg .tag.off rect{fill:var(--paper-3);stroke:var(--control);stroke-width:1.2}.ctl-dwg .tag.off text{fill:var(--control)}.ctl-dwg .blades,.ctl-dwg .hand,.ctl-dwg .cur,.ctl-dwg .leaf,.ctl-dwg .knob{transform-box:fill-box}.ctl-dwg .blades,.ctl-dwg .hand{transform-origin:center}.ctl-dwg .cur{transition:transform 1.1s var(--ease);transform:scaleX(.34)}.ctl-dwg .cur-l{transform-origin:left center}.ctl-dwg .cur-r{transform-origin:right center}.ctl-dwg .leaf{transform-origin:left center;transition:transform 1.2s var(--ease)}.ctl-dwg .knob{transition:transform .8s var(--ease)}.ctl-dwg .sq{opacity:.36;transition:opacity .45s var(--ease)}.ctl-dwg .sq.lk{opacity:.22}.ctl-dwg .only{opacity:0;transition:opacity .4s var(--ease)}.ctl[data-state=arrive] :is(.sq,.only).on-arrive{opacity:1;transition-delay:var(--ta, 0s)}.ctl[data-state=leave] :is(.sq,.only).on-leave{opacity:1;transition-delay:var(--tl, 0s)}.ctl[data-state=bath] :is(.sq,.only).on-bath{opacity:1;transition-delay:var(--tb, 0s)}.ctl[data-state=night] :is(.sq,.only).on-night{opacity:1;transition-delay:var(--tn, 0s)}.ctl[data-state=leave] .cur,.ctl[data-state=night] .cur{transform:none}.ctl[data-state=leave] .cur{transition-delay:var(--tl)}.ctl[data-state=night] .cur{transition-delay:var(--tn)}.ctl[data-state=arrive] .leaf{transform:rotate(-70deg);transition-delay:var(--ta)}.ctl[data-state=leave] .leaf{animation:gate-cycle 3.4s var(--ease) var(--tl) both}@keyframes gate-cycle{0%,to{transform:none}30%,68%{transform:rotate(-70deg)}}.ctl[data-state=arrive] .k1{transform:translate(12px)}.ctl[data-state=arrive] .k2{transform:translate(16px)}.ctl[data-state=arrive] .k3{transform:translate(6px)}.ctl[data-state=bath] .k2{transform:translate(20px)}.ctl[data-state=night] .k1{transform:translate(3px)}.ctl[data-state=night] .k3{transform:translate(10px)}.ctl-dwg .pl{fill:none;stroke-width:6.5;stroke-linecap:round;stroke-dasharray:0 2;opacity:0}.ctl-dwg .pl.bus{stroke:var(--control)}.ctl-dwg .pl.net{stroke:var(--connected)}.ctl.anim-on[data-state=arrive] .pl.on-arrive{animation:sig-a 2.4s linear var(--ta) infinite}.ctl.anim-on[data-state=leave] .pl.on-leave{animation:sig-l 2.4s linear var(--tl) infinite}.ctl.anim-on[data-state=bath] .pl.on-bath{animation:sig-b 2.4s linear var(--tb) infinite}.ctl.anim-on[data-state=night] .pl.on-night{animation:sig-n 2.4s linear var(--tn) infinite}@keyframes sig-a{0%{opacity:1;stroke-dashoffset:0}25%{opacity:1;stroke-dashoffset:-1}25.1%,to{opacity:0;stroke-dashoffset:-1}}@keyframes sig-l{0%{opacity:1;stroke-dashoffset:0}25%{opacity:1;stroke-dashoffset:-1}25.1%,to{opacity:0;stroke-dashoffset:-1}}@keyframes sig-b{0%{opacity:1;stroke-dashoffset:0}25%{opacity:1;stroke-dashoffset:-1}25.1%,to{opacity:0;stroke-dashoffset:-1}}@keyframes sig-n{0%{opacity:1;stroke-dashoffset:0}25%{opacity:1;stroke-dashoffset:-1}25.1%,to{opacity:0;stroke-dashoffset:-1}}.ctl.anim-on[data-state=arrive] .flash{animation:flash-a 2.4s ease-out .6s infinite}.ctl.anim-on[data-state=leave] .flash{animation:flash-l 2.4s ease-out .6s infinite}.ctl.anim-on[data-state=bath] .flash{animation:flash-b 2.4s ease-out .6s infinite}.ctl.anim-on[data-state=night] .flash{animation:flash-n 2.4s ease-out .6s infinite}@keyframes flash-a{0%{opacity:.9;stroke-width:7}30%,to{opacity:0;stroke-width:2}}@keyframes flash-l{0%{opacity:.9;stroke-width:7}30%,to{opacity:0;stroke-width:2}}@keyframes flash-b{0%{opacity:.9;stroke-width:7}30%,to{opacity:0;stroke-width:2}}@keyframes flash-n{0%{opacity:.9;stroke-width:7}30%,to{opacity:0;stroke-width:2}}.ctl.anim-on .hand{animation:spin 9s linear infinite}.ctl.anim-on .led{animation:blink 1.6s steps(1) infinite}.ctl.anim-on .led-2{animation-duration:.7s}.ctl.anim-on .blink{animation:blink .9s steps(1) infinite}.ctl.anim-on[data-state=bath] .blades{animation:spin .8s linear var(--tb) infinite}.ctl.anim-on .airflow{animation:air .8s linear infinite}.ctl.anim-on .ripples{animation:ripple 1.6s ease-out infinite}.ctl.anim-on .ring{animation:ripple 2s ease-out infinite}.ctl.anim-on .waves{animation:ripple 1.2s ease-out infinite}.ctl-dwg .ripples,.ctl-dwg .ring,.ctl-dwg .waves{transform-box:fill-box;transform-origin:center}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{50%{opacity:.2}}@keyframes air{to{stroke-dashoffset:-10}}@keyframes ripple{0%{stroke-opacity:1}to{stroke-opacity:.15}}.ladder-wrap{position:relative;--step: 54px;--tc: #3fb8a7}.ladder{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start}.ladder>li{position:relative;margin-top:calc((5 - var(--n)) * var(--step));padding:20px 24px 0 18px;border-top:2px solid var(--tc)}.ladder>li:before{content:"";position:absolute;left:-2px;top:-2px;width:2px;height:calc(var(--step) + 2px);background:var(--tc)}.ladder>li:first-child:before{display:none}.ladder>li:after{content:"";position:absolute;left:-6px;top:-6px;width:10px;height:10px;background:var(--night);border:2px solid var(--tc);transform:rotate(45deg)}.ladder-ic{width:64px;height:64px;margin-bottom:14px;fill:none;stroke:var(--tc);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.ladder-ic .rk,.ladder-ic .dot,.ladder-ic .fill{fill:var(--tc);stroke:none}.ladder-ic .rk-b{opacity:0}.ladder-ic .fill{fill-opacity:.35}.ladder-ic .sun{stroke:var(--night-ink-2);stroke-width:1.6}.ladder .anno{color:var(--tc);margin-bottom:6px}.ladder h3{color:#fff;margin-bottom:8px;font-size:1.2rem}.ladder p{color:var(--night-ink-2);font-size:.97rem}.ladder-ic .hand,.ladder-ic .needle,.ladder-ic .lvl{transform-box:fill-box}.ladder-ic .hand,.ladder-ic .needle{transform-origin:center}.ladder-ic .lvl{transform-origin:bottom center}.climber{position:absolute;left:0;top:calc(var(--step) * 4);width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #3fb8a759;opacity:0;pointer-events:none}.ladder-wrap.anim-on .climber{animation:climb 9s linear infinite}@keyframes climb{0%{left:0%;top:calc(var(--step) * 4);opacity:0}2%{opacity:1}16%{left:20%;top:calc(var(--step) * 4)}21%{left:20%;top:calc(var(--step) * 3)}37%{left:40%;top:calc(var(--step) * 3)}42%{left:40%;top:calc(var(--step) * 2)}58%{left:60%;top:calc(var(--step) * 2)}63%{left:60%;top:var(--step)}79%{left:80%;top:var(--step)}84%{left:80%;top:0}97%{opacity:1}to{left:100%;top:0;opacity:0}}.ladder-wrap.anim-on .rk-a{animation:toggle 4s steps(1) infinite}.ladder-wrap.anim-on .rk-b{animation:toggle 4s steps(1) -2s infinite}.ladder-wrap.anim-on .hand{animation:spin 6s linear infinite}.ladder-wrap.anim-on .wv{animation:wave 2.4s ease-in-out infinite}.ladder-wrap.anim-on .wv-2{animation-delay:.3s}.ladder-wrap.anim-on .wv-3{animation-delay:.6s}.ladder-wrap.anim-on .vw{animation:wave 1.6s ease-in-out infinite}.ladder-wrap.anim-on .vw-2{animation-delay:.25s}.ladder-wrap.anim-on .needle{animation:needle 3.2s ease-in-out infinite alternate}.ladder-wrap.anim-on .lvl{animation:level 5s ease-in-out infinite alternate}@keyframes toggle{0%{opacity:1}50%{opacity:0}}@keyframes wave{0%,to{stroke-opacity:.25}40%{stroke-opacity:1}}@keyframes needle{0%{transform:rotate(-35deg)}to{transform:rotate(40deg)}}@keyframes level{0%{transform:scaleY(1)}to{transform:scaleY(.45)}}@media (max-width: 960px){.ladder{grid-template-columns:1fr}.ladder>li{margin-top:0;padding:0 0 30px 30px;border-top:0;border-left:2px solid var(--tc);display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:18px;align-items:start}.ladder>li:last-child{border-left-color:transparent;padding-bottom:0}.ladder>li:before{display:none}.ladder>li:after{left:-7px;top:0}.ladder-ic{grid-row:span 3;margin:0;width:56px;height:56px}.ladder h3,.ladder p,.ladder .anno{grid-column:2}.climber{display:none}}
