/* Compact SVG instruments. All motion is enabled only by fresh reported state. */
.aeroboat-portal .ab-live-status-strip{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}
.aeroboat-portal .ab-live-chip>small{display:flex;align-items:center;min-height:33px;white-space:normal;line-height:1.25}
.ab-battery-compact .ab-battery-caption>span:first-child{display:inline-flex;align-items:center;white-space:normal;line-height:1.25}
[data-ab-status-icon].ab-status-icon{--ab-si-color:#247ea3;display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;width:28px;height:30px;margin:0 7px 0 0!important;padding:0!important;vertical-align:middle;color:var(--ab-si-color)!important;line-height:1;font-size:inherit!important;overflow:visible}
[data-ab-status-icon].ab-status-icon-wide{width:52px;height:33px}
[data-ab-status-icon].ab-status-icon svg{display:block;width:100%;height:100%;overflow:hidden;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
[data-ab-status-icon].ab-status-icon text{fill:currentColor;stroke:none;font:700 7px system-ui,sans-serif;text-anchor:middle;letter-spacing:.02em}
.ab-status-icon .ab-si-soft{fill:currentColor;fill-opacity:.13}.ab-status-icon .ab-si-solid{fill:currentColor;stroke:none}.ab-status-icon .ab-si-dot{fill:currentColor;fill-opacity:.25}.ab-status-icon.is-current .ab-si-dot{fill-opacity:1}
.ab-status-icon[data-tone=muted]{--ab-si-color:#86939f}.ab-status-icon[data-tone=good]{--ab-si-color:#23876e}.ab-status-icon[data-tone=warn]{--ab-si-color:#b77a16}.ab-status-icon[data-tone=danger]{--ab-si-color:#c6443f}.ab-status-icon[data-tone=sun]{--ab-si-color:#cf9420}
.ab-status-icon .ab-si-bearing{transform:rotate(var(--ab-si-bearing,0deg));transform-origin:16px 16px}.ab-status-icon.is-current .ab-si-bearing{transition:transform .6s ease-out}
.ab-status-icon .ab-si-rotor{fill:currentColor;fill-opacity:.38;stroke:none;transform-origin:0 0;animation:ab-si-spin var(--ab-si-rotor-time,1.6s) linear infinite;animation-play-state:paused}.ab-status-icon .ab-si-hub{fill:currentColor;stroke:none}.ab-status-icon .ab-si-part:not(.is-current){opacity:.5}.ab-status-icon .ab-si-part.is-active .ab-si-rotor{fill-opacity:.9;animation-play-state:running}
.ab-status-icon .ab-si-anchor{animation:none 1.45s ease-in-out infinite;animation-play-state:paused}.ab-status-icon .ab-si-direction{display:none}.ab-status-icon [data-motion=up] .ab-si-anchor{animation-name:ab-si-raise;animation-play-state:running}.ab-status-icon [data-motion=down] .ab-si-anchor{animation-name:ab-si-lower;animation-play-state:running}.ab-status-icon [data-motion=up] .ab-si-direction,.ab-status-icon [data-motion=down] .ab-si-direction{display:block}.ab-status-icon [data-motion=up] .ab-si-direction{transform:rotate(180deg);transform-origin:24px 15px}.ab-status-icon .ab-si-guide{opacity:.5;stroke-dasharray:1 2}
.ab-status-icon .ab-si-waves{stroke-dasharray:9 4;animation:ab-si-flow 1.7s linear infinite;animation-play-state:paused}.ab-status-icon.is-active .ab-si-waves{animation-play-state:running}
.ab-anchor-switches{display:grid;gap:3px;margin-top:5px;font-size:10px;line-height:1.3}.ab-anchor-switch{display:flex;align-items:center;gap:4px;color:#60717e}.ab-anchor-switch svg{flex:0 0 24px;width:24px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.ab-anchor-switch .ab-anchor-contact{transform-origin:8px 12px;transform:rotate(-35deg)}.ab-anchor-switch[data-switch=closed]{color:#23876e}.ab-anchor-switch[data-switch=closed] .ab-anchor-contact{transform:rotate(0)}.ab-anchor-switch[data-switch=open]{color:#b77a16}.ab-anchor-switch:not([data-switch=unknown]) .ab-anchor-contact{transition:transform .3s ease-out}.ab-anchor-switch[data-switch=unknown]{opacity:.65}.ab-anchor-switch[data-switch=unknown] .ab-anchor-contact{transform:rotate(-18deg);stroke-dasharray:2 3}.aeroboat-portal .ab-anchor-switch{color:#a8bccb}.aeroboat-portal .ab-anchor-switch[data-switch=closed]{color:#29ac91}.aeroboat-portal .ab-anchor-switch[data-switch=open]{color:#d3a146}
.aeroboat-portal .ab-live-chip[data-chip=anchors] strong,.aeroboat-portal .ab-live-chip[data-chip=anchors] .ab-chip-scroll-text{white-space:normal;min-width:0;max-width:100%;overflow-wrap:anywhere;animation:none!important;transform:none!important}
html.ab-status-page-hidden .ab-anchor-contact{transition:none!important}
.ab-status-icon .ab-si-gear{transform-origin:16px 17px;animation:ab-si-spin 12s linear infinite;animation-play-state:paused}.ab-status-icon.is-active .ab-si-gear{animation-play-state:running}
.ab-status-icon .ab-si-cloud{fill:#f6fafc}.ab-status-icon .ab-si-wind{stroke-dasharray:10 5;animation:ab-si-flow 2.8s linear infinite;animation-play-state:paused}.ab-status-icon.is-active .ab-si-wind{animation-play-state:running}
.ab-status-icon .ab-si-bulb{fill-opacity:.08}.ab-status-icon.is-lit .ab-si-bulb{fill-opacity:.35;filter:drop-shadow(0 0 2px rgba(225,165,30,.3))}.ab-status-icon .ab-si-echo{opacity:0}.ab-status-icon.has-echo .ab-si-echo{opacity:1}
.aeroboat-portal .ab-status-icon{--ab-si-color:#2699ba}.aeroboat-portal .ab-status-icon[data-tone=muted]{--ab-si-color:#92a5b6}.aeroboat-portal .ab-status-icon[data-tone=good]{--ab-si-color:#29ac91}.aeroboat-portal .ab-status-icon[data-tone=warn]{--ab-si-color:#c08a26}.aeroboat-portal .ab-status-icon[data-tone=danger]{--ab-si-color:#d85851}.aeroboat-portal .ab-status-icon[data-tone=sun]{--ab-si-color:#d09a2c}
html.ab-status-page-hidden .ab-status-icon *,html.ab-status-page-hidden .ab-status-icon.is-current .ab-si-bearing,.ab-status-icon.ab-status-resume-pending *{animation-play-state:paused!important;transition:none!important}
@keyframes ab-si-spin{to{transform:rotate(360deg)}}@keyframes ab-si-flow{to{stroke-dashoffset:-30}}@keyframes ab-si-lower{0%{transform:translateY(-2px);opacity:.35}18%{opacity:1}80%{transform:translateY(2px);opacity:1}100%{transform:translateY(2px);opacity:.35}}@keyframes ab-si-raise{0%{transform:translateY(2px);opacity:.35}18%{opacity:1}80%{transform:translateY(-2px);opacity:1}100%{transform:translateY(-2px);opacity:.35}}
@media(max-width:600px){.aeroboat-portal .ab-live-status-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.aeroboat-portal .ab-live-chip>small{font-size:10px;min-height:33px}}
@media(prefers-reduced-motion:reduce){.ab-status-icon *,.ab-anchor-contact{animation:none!important;transition:none!important}.ab-status-icon [data-motion=up] .ab-si-anchor,.ab-status-icon [data-motion=down] .ab-si-anchor{transform:none}}
