.serial-chooser-overlay{z-index:2147483000;background:#00000080;justify-content:center;align-items:center;font-family:sans-serif;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.serial-chooser-modal{color:#111;background:#fff;border-radius:8px;min-width:360px;max-width:600px;max-height:80vh;padding:24px;overflow-y:auto;box-shadow:0 8px 32px #00000059}.serial-chooser-title{margin:0 0 12px;font-size:16px}.serial-chooser-list{margin:0;padding:0;list-style:none}.serial-chooser-item{margin:6px 0}.serial-chooser-btn{text-align:left;cursor:pointer;background:#f7f7f7;border:1px solid #ccc;border-radius:6px;width:100%;padding:10px;display:block}.serial-chooser-btn:hover{background:#ececec}.serial-chooser-port{font-weight:700}.serial-chooser-desc{color:#666;font-size:12px}.serial-chooser-vidpid{color:#999;font-size:11px}.serial-chooser-actions{text-align:right;margin-top:12px}.serial-chooser-cancel{cursor:pointer;padding:8px 16px}.drawingpad{touch-action:none;position:absolute}.drawingpad .input-surface{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.drawingpad .committed-surface,.drawingpad .stroke-surface{touch-action:none;object-fit:cover;object-position:center;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.drawingpad .eraser{pointer-events:none;width:calc(var(--eraser-radius) * 2);height:calc(var(--eraser-radius) * 2);left:calc(var(--eraser-radius) * -1);top:calc(var(--eraser-radius) * -1);transform:translateX(var(--eraser-x)) translateY(var(--eraser-y));background-color:red;position:absolute}iframe{border:0}img[src=""]{display:none}.is-clickable{pointer-events:all}.companioncode{color:#fff;pointer-events:none;grid-template:". .qrcode"0"title title qrcode""subtitle code qrcode"". .qrcode"8px/1fr auto auto;align-items:center;display:grid;position:absolute;top:8px;right:16px}.companioncode.is-open{background-position-x:-92px;transform:translate(0)}.companioncode h1{text-transform:uppercase;opacity:.6;grid-area:title;align-self:end;font-size:1.3rem;font-weight:700;line-height:1.4rem}.companioncode h2{grid-area:subtitle;place-self:start end;padding-right:.5em;font-size:1.4rem}.companioncode .qrcode{grid-area:qrcode;justify-content:center;align-items:center;width:84px;height:84px;margin:8px 0 8px 8px;display:flex}.companioncode .qrcode canvas{filter:drop-shadow(0 4px 16px #0009);width:76px;height:76px}.companioncode .code{color:#000;text-transform:uppercase;background:#fff;border-radius:4px;grid-area:code;place-self:start end;margin-right:2px;padding:4px 4px 2px;font-family:Lucida Console,Monaco,monospace;font-size:1.4rem;display:inline-block}.buttons>.companioncode{position:unset;text-align:center;flex-direction:column;display:flex}.buttons>.companioncode .qrcode{background:0 0;margin:0}.buttons>.companioncode .code{align-self:unset}.buttons>.companioncode canvas{filter:invert()}.buttons>.companioncode h1,.buttons>.companioncode h2{display:none}#app.is-browser .buttons>.companioncode .code{color:#fff;background:0 0}#app.is-browser .buttons>.companioncode canvas{filter:unset}.install-panel .companioncode{position:unset;text-align:center;flex-direction:column;display:flex}.install-panel .qrcode{background:0 0;margin:0}.install-panel .qrcode canvas{filter:invert()}.install-panel .code{align-self:unset}.install-panel h1,.install-panel h2{display:none}.video-element-rotator{aspect-ratio:var(--video-element-ratio);position:relative;container:video-element-rotator/size}@container video-element-rotator (width>=0){.video-element-rotator video.rotate-bottom{transform-origin:50%;transform:rotate(180deg)}.video-element-rotator video.rotate-bottom.is-mirror{transform-origin:50%;transform:rotate(180deg)scaleX(-1)}.video-element-rotator video.rotate-left{transform-origin:0 0;height:100cqw;transform:translate(100cqw)rotate(90deg)}.video-element-rotator video.rotate-left.is-mirror{transform-origin:0 0;height:100cqw;transform:rotate(-90deg)scaleX(-1)}.video-element-rotator video.rotate-right{transform-origin:0 0;height:100cqw;transform:translateY(100cqh)rotate(-90deg)}.video-element-rotator video.rotate-right.is-mirror{transform-origin:0 0;height:100cqw;transform:translateY(100cqh)translate(100cqw)rotate(90deg)scaleX(-1)}.video-element-rotator video.rotate-no.is-mirror,.video-element-rotator video.rotate-top.is-mirror{transform-origin:0 0;transform:translate(100cqw)scaleX(-1)}video{height:100%}}.video-element{background-color:#000;justify-content:center;align-items:center;width:100%;height:100%;display:flex;container:video-element/size}.video-element-cropper{aspect-ratio:var(--video-element-ratio);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;container:video-element-cropper/size}.video-element-cropper.is-editing{overflow:visible}.video-element-cropper.is-editing:after{content:"";pointer-events:none;outline:3px dashed #000;position:absolute;top:0;bottom:0;left:0;right:0}.video-element-cropper .video-element-scaler{align-content:center;width:100%;height:100%}.video-element-cropper.contain-hz .video-element-rotator.contain{width:100%}.video-element-cropper.contain-hz .video-element-rotator.cover,.video-element-cropper.contain-vert .video-element-rotator.contain{height:100%}.video-element-cropper.contain-vert .video-element-rotator.cover{width:100%}.video-element-cropper.contain-vert{height:100%}.video-element-cropper.contain-hz{width:100%}.video-element-cropper.cover{overflow:visible}.video-element-cropper.cover.contain-vert{height:unset;width:100%}.video-element-cropper.cover.contain-hz{height:100%;width:unset}.video-element-cropper.cover.is-cropped-by-source{width:100%;height:100%}@container video-element-cropper (width>=0){.video-element-scaler{transform-origin:0 0;height:100%;transform:translateY(calc(var(--video-element-offset-y) * 100cqh)) translateX(calc(var(--video-element-offset-x) * 100cqw)) scaleX(var(--video-element-scale)) scaleY(var(--video-element-scale))}}
