.source-control-panel.ptz-remote{position:relative}
.ptz-remote .ptz-record-button{position:absolute;top:0;right:8px;display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:7px;border:0;background:transparent;box-shadow:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;z-index:3}
.ptz-record-metal{position:relative;display:grid;place-items:center;width:28px;height:28px;box-sizing:border-box;border-radius:50%;border:2px solid #070909;outline:1px solid #6e777b;background:conic-gradient(from 25deg,#dce0e0,#747c7e,#d1d5d6,#7f878a,#dce0e0);box-shadow:inset 0 1px 2px #fff9,0 1px 3px #0008}
.ptz-record-metal i{display:block;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 40% 32%,#ff4343,#c60000 70%);box-shadow:inset 0 1px 2px #6b0000,0 1px 1px #fff5}
.ptz-record-button.is-recording .ptz-record-metal i{animation:ptz-rec-blink 1.2s ease-in-out infinite}
.ptz-record-button.is-recording .ptz-record-metal{outline-color:#ed5858}
.ptz-record-button.is-pending .ptz-record-metal{outline-color:#d6ad56}
.ptz-record-button:disabled{opacity:.48}
.ptz-record-progress{position:absolute;inset:4px;border:2px solid transparent;border-radius:50%;pointer-events:none}
.ptz-record-button.is-holding .ptz-record-progress{border-color:#ef7777;animation:ptz-rec-hold 3s linear both}
.ptz-record-button:focus-visible{outline:2px solid #ef7777;outline-offset:1px;border-radius:50%}
@keyframes ptz-rec-blink{0%,100%{opacity:1;box-shadow:0 0 7px #ff353580}50%{opacity:.38;box-shadow:none}}
@keyframes ptz-rec-hold{from{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}
@media(prefers-reduced-motion:reduce){.ptz-record-button.is-recording .ptz-record-metal i{animation:none;box-shadow:0 0 6px #ff353580}.ptz-record-button.is-holding .ptz-record-progress{animation:none}}

.ptz-remote .ptz-record-button[hidden]{display:none!important}
