.bn-fb{--bn-c:var(--mode-q);--bn-rail:var(--mode-q)}.bn-fb .bn-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 4%;display:grid}.bn-fb .bn-rail div{gap:9px;display:grid}.bn-fb .bn-rail i{background:var(--border-subtle);border-radius:1px;height:2px;display:block;overflow:hidden}.bn-fb .bn-rail i b{background:var(--bn-rail);transform-origin:0;height:100%;display:block;transform:scaleX(1)}.bn-fb .bn-rail span{color:var(--text-tertiary);font-size:.8125rem}.bn-fb .bn-rail div:last-child span{color:var(--text-primary)}.bn-fb .bn-a{animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both}.bn-lbl{font-family:var(--bo-font-mono);fill:var(--text-tertiary);font-size:12px}@media (prefers-reduced-motion:no-preference){.bn-fb .bn-rail span,.bn-fb .bn-rail i b{animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both}.bn-fb .bn-r0 span{animation-name:bfLab0}.bn-fb .bn-r0 b{animation-name:bfBar0}.bn-fb .bn-r1 span{animation-name:bfLab1}.bn-fb .bn-r1 b{animation-name:bfBar1}}@media not all and (min-width:40.0625rem){.bn-fb .bn-rail{gap:8px;padding:0}.bn-fb .bn-rail span{font-size:12px}}.bf-grid{opacity:.5}.bf-lane text{font-family:var(--bo-font-mono);fill:var(--text-tertiary);font-size:12px}.bf-case{fill:var(--art-case);stroke:var(--art-case-edge);stroke-width:1px}.bf-case-hi{fill:none;stroke:var(--art-case-hi);stroke-width:1px}.bf-port{fill:var(--art-port);stroke:var(--art-port-edge);stroke-width:1px}.bf-lid text{font-family:var(--bo-font-brand);letter-spacing:-.035em;fill:var(--art-lid-ink);font-size:34px;font-weight:500}.bf-lid rect{fill:var(--accent-quiet)}.bf-lid path{fill:none;stroke:var(--art-lid-line);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.bf-plug{fill:var(--art-plug);stroke:var(--art-plug-edge);stroke-width:1px}.bf-cable{fill:none;stroke:var(--art-cable);stroke-width:5px;stroke-linecap:round}.bf-flt rect{fill:var(--surface-canvas);stroke:var(--text-secondary);stroke-width:1.3px}.bf-flt .ring{fill:none;stroke:var(--border-strong);stroke-width:1.2px}.bf-blades{transform-box:view-box;transform-origin:74px 196px}.bf-blades path,.bf-blades circle{fill:var(--bn-c)}@supports (color:color-mix(in lab, red, red)){.bf-blades path,.bf-blades circle{fill:color-mix(in oklab, var(--bn-c) 22%, transparent)}}.bf-blades path,.bf-blades circle{stroke:var(--bn-c);stroke-width:1.3px;stroke-linejoin:round}.bf-hose{fill:none;stroke:var(--art-hose);stroke-width:13px;stroke-linecap:round}.bf-hose-rib{fill:none;stroke:var(--art-hose-rib);stroke-width:13px;stroke-dasharray:1.5 4.5}.bf-air{fill:none;stroke:var(--bn-c);stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:5 12;opacity:0}.bf-dev rect,.bf-dev path{fill:var(--surface-canvas);stroke:var(--text-secondary);stroke-width:1.3px;stroke-linejoin:round}.bf-dev .win{fill:var(--surface-inset)}.bf-dev .scr{fill:var(--bn-c);stroke:none;opacity:.85}.bf-dev .grl{fill:none;stroke:var(--text-tertiary)}.bf-dev .hs{fill:none;stroke:var(--bn-c);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.bf-gh{fill:none;stroke:var(--art-gh-cable);stroke-width:2.6px;stroke-linecap:round}.bf-gh-plug{fill:var(--art-gh-plug);stroke:var(--art-gh-plug-edge);stroke-width:1px;transform-box:fill-box;transform-origin:50%}.bf-flow{fill:none;stroke:var(--bn-c);stroke-width:3.4px;stroke-linecap:round;stroke-dasharray:.08 1;stroke-dashoffset:.08px;opacity:0}.bf-link{fill:none;stroke:var(--bn-c);stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:3 6}.bf-wifi{fill:none;stroke:var(--bn-c);stroke-width:1.8px;stroke-linecap:round}.bf-empty{fill:none;stroke:var(--text-tertiary);stroke-width:1.2px;stroke-dasharray:2.5 2.5}.bf-lane path{fill:none;stroke:var(--bn-c);stroke-width:1.8px;stroke-linejoin:round}.bf-lane .axis{stroke:var(--border-default);stroke-width:1px}.bf-lane text.hi,.bf-ctl rect{fill:var(--bn-c)}@supports (color:color-mix(in lab, red, red)){.bf-ctl rect{fill:color-mix(in oklab, var(--bn-c) 16%, transparent)}}.bf-ctl rect{stroke:var(--bn-c)}@supports (color:color-mix(in lab, red, red)){.bf-ctl rect{stroke:color-mix(in oklab, var(--bn-c) 50%, transparent)}}.bf-ctl rect{stroke-width:1px}.bf-ctl text{font-family:var(--bo-font-body);fill:var(--text-primary);font-size:12px;font-weight:500}.bf-ctl{transform-box:fill-box;transform-origin:50%}@media (prefers-reduced-motion:no-preference){.bf-grid{animation-name:bfGrid}.bf-casegrp{animation-name:bfCase}.bf-in{animation-name:bfIn}.bf-out{animation-name:bfOut}.bf-base{animation-name:bfBase}.bf-hose{animation-name:bfHose}.bf-hose-rib,.bf-hose-lbl{animation-name:bfHoseRib}.bf-prn{animation-name:bfPrn}.bf-gh{animation-name:bfGh}.bf-gh-plug{animation-name:bfGhPlug}.bf-flow.gh{animation-name:bfFlowGh}.bf-flow.dc{animation-name:bfFlowDc}.bf-ha{animation-name:bfHa}.bf-link.l1{animation-name:bfLink1}.bf-link.l2{animation-name:bfLink2}.bf-wifi1{animation-name:bfWifi1}.bf-wifi2{animation-name:bfWifi2}.bf-wifi3{animation-name:bfWifi3}.bf-empty{animation-name:bfEmpty}.bf-lblc{animation-name:bfLblC}.bf-ctl{animation-name:bfCtl}.bf-lane{animation-name:bfLane}.bf-lane .sig{animation-name:bfSig}.bf-blades{animation-name:bfSpin}.bf-air{animation-name:bfAir}}@keyframes bfGrid{0%{opacity:.3}6%{opacity:.6}95%{opacity:.6}to{opacity:.3}}@keyframes bfCase{0%,0%{opacity:0}3.5%,95%{opacity:1}to,to{opacity:0}}@keyframes bfBase{0%,0%{opacity:0}3.5%,95%{opacity:1}to,to{opacity:0}}@keyframes bfHose{0%,3%{stroke-dashoffset:1px;opacity:1}11%{stroke-dashoffset:0;opacity:1}95%{stroke-dashoffset:0;opacity:1}to,to{stroke-dashoffset:0;opacity:0}}@keyframes bfHoseRib{0%,10%{opacity:0}13%,95%{opacity:1}to,to{opacity:0}}@keyframes bfIn{0%,11%{opacity:0}14%,95%{opacity:1}to,to{opacity:0}}@keyframes bfOut{0%,13%{opacity:0}16%,95%{opacity:1}to,to{opacity:0}}@keyframes bfPrn{0%,26%{opacity:0}29%,95%{opacity:1}to,to{opacity:0}}@keyframes bfGh{0%,15%{stroke-dashoffset:1px;opacity:1}27%{stroke-dashoffset:0;opacity:1}95%{stroke-dashoffset:0;opacity:1}to,to{stroke-dashoffset:0;opacity:0}}@keyframes bfGhPlug{0%,26.5%{opacity:0;transform:scale(.5)}28.5%{opacity:1;transform:scale(1.35)}29.9%{opacity:1;transform:scale(1)}95%{opacity:1;transform:scale(1)}to,to{opacity:0;transform:scale(1)}}@keyframes bfFlowGh{0%,44%{stroke-dashoffset:.08px;opacity:0}44.1%{stroke-dashoffset:.08px;opacity:1}59.33%{stroke-dashoffset:-1px;opacity:1}60.77%{stroke-dashoffset:.08px;opacity:1}76%{stroke-dashoffset:-1px;opacity:1}77.43%{stroke-dashoffset:.08px;opacity:1}92.67%{stroke-dashoffset:-1px;opacity:1}94%,to{stroke-dashoffset:-1px;opacity:0}}@keyframes bfFlowDc{0%,46%{stroke-dashoffset:.08px;opacity:0}46.1%{stroke-dashoffset:.08px;opacity:1}60.72%{stroke-dashoffset:-1px;opacity:1}62.1%{stroke-dashoffset:.08px;opacity:1}76.72%{stroke-dashoffset:-1px;opacity:1}78.1%{stroke-dashoffset:.08px;opacity:1}92.72%{stroke-dashoffset:-1px;opacity:1}94%,to{stroke-dashoffset:-1px;opacity:0}}@keyframes bfHa{0%,14%{opacity:0;transform:scale(.5)}16%{opacity:1;transform:scale(1.1)}17.4%{opacity:1;transform:scale(1)}95%{opacity:1;transform:scale(1)}to,to{opacity:0;transform:scale(1)}}@keyframes bfLink1{0%,17%{opacity:0}23%,95%{opacity:1}to,to{opacity:0}}@keyframes bfLink2{0%,26%{opacity:0}32%,95%{opacity:1}to,to{opacity:0}}@keyframes bfEmpty{0%,22%{opacity:0}26%,95%{opacity:1}to,to{opacity:0}}@keyframes bfLblC{0%,27%{opacity:0}31%,95%{opacity:1}to,to{opacity:0}}@keyframes bfCtl{0%,43%{opacity:0;transform:scale(.5)}45%{opacity:1;transform:scale(1.1)}46.4%{opacity:1;transform:scale(1)}95%{opacity:1;transform:scale(1)}to,to{opacity:0;transform:scale(1)}}@keyframes bfLane{0%,42%{opacity:0}45%,95%{opacity:1}to,to{opacity:0}}@keyframes bfSig{0%,44%{stroke-dashoffset:1px;opacity:1}60%{stroke-dashoffset:0;opacity:1}95%{stroke-dashoffset:0;opacity:1}to,to{stroke-dashoffset:0;opacity:0}}@keyframes bfSpin{0%,42%{transform:rotate(0)}95%{transform:rotate(2160deg)}to{transform:rotate(2160deg)}}@keyframes bfAir{0%,44%{opacity:0;stroke-dashoffset:0}48%{opacity:.9}95%{opacity:.9;stroke-dashoffset:170px}to{opacity:0;stroke-dashoffset:170px}}@keyframes bfBar0{0%,0%{transform:scaleX(0)}42%{transform:scaleX(1)}95%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes bfLab0{0%,0%{color:var(--text-tertiary)}1.5%,40.5%{color:var(--text-primary)}42%,to{color:var(--text-tertiary)}}@keyframes bfBar1{0%,42%{transform:scaleX(0)}95%{transform:scaleX(1)}95%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes bfLab1{0%,41.9%{color:var(--text-tertiary)}43.5%,93.5%{color:var(--text-primary)}95%,to{color:var(--text-tertiary)}}@keyframes bfWifi1{0%,12%{opacity:0}15%{opacity:1}22%{opacity:.3}42%{opacity:1}58%{opacity:.3}76%{opacity:1}96%,to{opacity:0}}@keyframes bfWifi2{0%,13.5%{opacity:0}16.5%{opacity:1}23.5%{opacity:.3}43.5%{opacity:1}59.5%{opacity:.3}77.5%{opacity:1}96%,to{opacity:0}}@keyframes bfWifi3{0%,15%{opacity:0}18%{opacity:1}25%{opacity:.3}45%{opacity:1}61%{opacity:.3}79%{opacity:1}96%,to{opacity:0}}
.ha-card{border-radius:var(--bo-radius-card);background:var(--surface-card);border:1px solid var(--border-subtle);align-content:start;gap:16px;min-width:0;padding:20px;display:grid}.ha-card.hl{border-color:var(--mode-q)}@supports (color:color-mix(in lab, red, red)){.ha-card.hl{border-color:color-mix(in oklab, var(--mode-q) 45%, var(--border-subtle))}}.ha-top{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.ha-top b{font-family:var(--bo-font-display);letter-spacing:-.01em;color:var(--text-primary);font-size:16px;font-weight:600;display:block}.ha-top small{color:var(--text-tertiary);font-size:12px;display:block}.ha-ic{border-radius:var(--bo-radius-inset);background:var(--mode-q);place-items:center;width:36px;height:36px;display:grid}@supports (color:color-mix(in lab, red, red)){.ha-ic{background:color-mix(in oklab, var(--mode-q) 13%, transparent)}}.ha-ic{color:var(--mode-q)}.ha-art{border-radius:var(--bo-radius-inset);background:var(--surface-inset);border:1px solid var(--border-subtle);place-items:center;height:132px;display:grid}.ha-art svg{display:block}.ha-pr rect,.ha-pr path{fill:none;stroke:var(--text-secondary);stroke-width:1.3px;stroke-linejoin:round}.ha-pr .glass{fill:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.ha-pr .glass{fill:color-mix(in oklab, var(--text-primary) 5%, transparent)}}.ha-pr .scr{fill:var(--mode-q);stroke:none;opacity:.85}.ha-pr .bed{stroke:var(--text-tertiary)}.ha-fan{transform-box:fill-box;transform-origin:50%}.ha-fan path{fill:none;stroke:var(--mode-q);stroke-width:1.5px;stroke-linejoin:round}.ha-row{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:baseline;gap:12px;padding-top:14px;display:flex}.ha-row .k{color:var(--text-secondary);font-size:.8125rem}.ha-v{font-family:var(--bo-font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary);align-items:baseline;gap:3px;font-size:22px;font-weight:500;display:inline-flex}.ha-v small{color:var(--text-tertiary);font-size:13px}.ha-vals{text-align:right;width:3ch;height:1.2em;display:inline-block;position:relative}.ha-vals i{opacity:0;font-style:normal;position:absolute;top:0;right:0}.ha-vals i.s{opacity:1}.ha-card code{font-family:var(--bo-font-mono);color:var(--text-tertiary);overflow-wrap:anywhere;font-size:11.5px}.ha-ran{color:var(--mode-q);background:var(--mode-q);border-radius:3.40282e38px;padding:3px 8px;font-size:11px;font-weight:500}@supports (color:color-mix(in lab, red, red)){.ha-ran{background:color-mix(in oklab, var(--mode-q) 14%, transparent)}}.ha-ran{opacity:.35}.ha-step{border-radius:var(--bo-radius-inset);background:var(--surface-inset);border:1px solid var(--border-subtle);gap:6px;padding:12px 14px;display:grid}.ha-step .lbl{letter-spacing:.04em;color:var(--text-tertiary);font-size:11px;font-weight:600}.ha-step p{color:var(--text-primary);font-size:.8125rem;line-height:1.5}.ha-gauge{border-radius:var(--bo-radius-inset);background:var(--surface-inset);border:1px solid var(--border-subtle);place-items:center;height:132px;display:grid;position:relative}.ha-gauge svg{display:block}.ha-gauge .track{fill:none;stroke:var(--text-tertiary)}@supports (color:color-mix(in lab, red, red)){.ha-gauge .track{stroke:color-mix(in oklab, var(--text-tertiary) 30%, transparent)}}.ha-gauge .track{stroke-width:9px;stroke-linecap:round}.ha-gauge .bar{fill:none;stroke:var(--mode-q);stroke-width:9px;stroke-linecap:round;stroke-dasharray:100 100;stroke-dashoffset:40px}.ha-gauge .num{place-items:center;padding-top:6px;display:grid;position:absolute;inset:0}.ha-link{place-items:center;display:grid;position:relative}.ha-link:before{content:"";border-top:2px dashed var(--mode-q);position:absolute;top:50%;left:6px;right:6px}@supports (color:color-mix(in lab, red, red)){.ha-link:before{border-top:2px dashed color-mix(in oklab, var(--mode-q) 55%, transparent)}}.ha-link span{background:var(--surface-canvas);border:1px solid var(--border-subtle);font-family:var(--bo-font-mono);color:var(--text-tertiary);border-radius:3.40282e38px;padding:3px 8px;font-size:11px;position:relative}.ha-link i{background:var(--mode-q);opacity:0;width:9px;height:9px;box-shadow:0 0 0 4px var(--mode-q);border-radius:50%;margin:-4.5px 0 0 -4.5px;position:absolute;top:50%;left:6px}@supports (color:color-mix(in lab, red, red)){.ha-link i{box-shadow:0 0 0 4px color-mix(in oklab, var(--mode-q) 22%, transparent)}}.ha-a{animation-duration:12s;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both}.ha-a3{animation-duration:3s;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both}@media (prefers-reduced-motion:no-preference){.ha-vals.p i.s,.ha-vals.f i.s{opacity:0}.ha-vals.p .v0{animation-name:haP0}.ha-vals.p .v1{animation-name:haP1}.ha-vals.p .v2{animation-name:haP2}.ha-vals.p .v3{animation-name:haP3}.ha-vals.f .v0{animation-name:haF0}.ha-vals.f .v1{animation-name:haF1}.ha-vals.f .v2{animation-name:haF2}.ha-vals.f .v3{animation-name:haF3}.ha-gauge .bar{animation-name:haGauge}.ha-fan.p{animation-name:haSpinP}.ha-fan.f{animation-name:haSpinF}.ha-link.l1 i{animation-name:haDot1}.ha-link.l2 i{animation-name:haDot2}.ha-ran{animation-name:haRan}.ha-auto{animation-name:haCard}}@media not all and (min-width:64rem){.ha-link:before{border-top:0;border-left:2px dashed var(--mode-q);inset:4px auto 4px 50%}@supports (color:color-mix(in lab, red, red)){.ha-link:before{border-left:2px dashed color-mix(in oklab, var(--mode-q) 55%, transparent)}}.ha-link i{margin:0 0 0 -4.5px;top:4px;left:50%}}@media (prefers-reduced-motion:no-preference) and (not (min-width:64rem)){.ha-link.l1 i{animation-name:haDot1v}.ha-link.l2 i{animation-name:haDot2v}}@keyframes haP0{0%,24.92%{opacity:1}25%,to{opacity:0}}@keyframes haP1{0%,25%{opacity:0}26.25%,49.92%{opacity:1}50%,to{opacity:0}}@keyframes haP2{0%,50%{opacity:0}51.25%,74.92%{opacity:1}75%,to{opacity:0}}@keyframes haP3{0%,75%{opacity:0}76.25%,99.92%{opacity:1}to,to{opacity:0}}@keyframes haF0{0%,10%{opacity:0}11.25%,34.92%{opacity:1}35%,to{opacity:0}}@keyframes haF1{0%,35%{opacity:0}36.25%,59.92%{opacity:1}60%,to{opacity:0}}@keyframes haF2{0%,60%{opacity:0}61.25%,84.92%{opacity:1}85%,to{opacity:0}}@keyframes haF3{0%,9.92%{opacity:1}10%,85%{opacity:0}86.25%,to{opacity:1}}@keyframes haGauge{0%{stroke-dashoffset:60px}10%{stroke-dashoffset:60px}14.17%{stroke-dashoffset:80px}35%{stroke-dashoffset:80px}39.17%{stroke-dashoffset:40px}60%{stroke-dashoffset:40px}64.17%{stroke-dashoffset:0}85%{stroke-dashoffset:0}89.17%{stroke-dashoffset:60px}to{stroke-dashoffset:60px}}@keyframes haSpinP{0%{transform:rotate(0)}25%{transform:rotate(360deg)}50%{transform:rotate(1440deg)}75%{transform:rotate(3240deg)}to{transform:rotate(3960deg)}}@keyframes haSpinF{0%{transform:rotate(0)}10%{transform:rotate(288deg)}35%{transform:rotate(648deg)}60%{transform:rotate(1728deg)}85%{transform:rotate(3528deg)}to{transform:rotate(3960deg)}}@keyframes haDot1{0%,3%{opacity:0;left:6px}6%{opacity:1}18%{opacity:1;left:calc(100% - 6px)}21%,to{opacity:0;left:calc(100% - 6px)}}@keyframes haDot2{0%,23%{opacity:0;left:6px}26%{opacity:1}38%{opacity:1;left:calc(100% - 6px)}41%,to{opacity:0;left:calc(100% - 6px)}}@keyframes haDot1v{0%,3%{opacity:0;top:4px}6%{opacity:1}18%{opacity:1;top:calc(100% - 8px)}21%,to{opacity:0;top:calc(100% - 8px)}}@keyframes haDot2v{0%,23%{opacity:0;top:4px}26%{opacity:1}38%{opacity:1;top:calc(100% - 8px)}41%,to{opacity:0;top:calc(100% - 8px)}}@keyframes haRan{0%,18%{opacity:.35}21%,34%{opacity:1}44%,to{opacity:.35}}@keyframes haCard{0%,18%{border-color:var(--border-subtle)}21%,34%{border-color:color-mix(in oklab, var(--mode-q) 60%, var(--border-subtle))}44%,to{border-color:var(--border-subtle)}}
