.cap-root{pointer-events:none;--cap-scale:1;position:absolute;inset:0;overflow:hidden}.cap-wrap{box-sizing:border-box;flex-direction:column;justify-content:flex-end;gap:.3em;padding:2% 4%;display:flex;position:absolute;left:0;right:0}.cap-wrap.top{justify-content:flex-start;top:0}.cap-wrap.bottom{bottom:0}.cap-wrap.custom{padding:.5%;right:auto;overflow:hidden}.cap-stack{background:var(--cap-bg);box-sizing:border-box;max-height:100%;height:calc((var(--cap-rows,3) * var(--cap-fs0) * var(--cap-lh) + 2 * var(--cap-pad-y,10px)) * var(--cap-scale));padding:calc(var(--cap-pad-y,10px) * var(--cap-scale)) 0;border-radius:.25em;flex-direction:column;display:flex}.cap-stack[hidden]{display:none}.cap-wrap.custom .cap-stack{flex:auto;height:auto;min-height:0}.cap-view{flex:auto;min-height:0;position:relative;overflow:hidden}.cap-view.over{-webkit-mask-image:linear-gradient(to bottom, transparent, #000 calc(var(--cap-fs0) * var(--cap-scale) * .8));-webkit-mask-image:linear-gradient(to bottom, transparent, #000 calc(var(--cap-fs0) * var(--cap-scale) * .8));mask-image:linear-gradient(to bottom, transparent, #000 calc(var(--cap-fs0) * var(--cap-scale) * .8))}.cap-flow{gap:calc(var(--cap-gap,16px) * var(--cap-scale));flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0}.cap-box{color:var(--cap-color);padding:0 calc(var(--cap-pad-x,19px) * var(--cap-scale));line-height:var(--cap-lh);text-align:var(--cap-align);font-family:var(--cap-font);font-size:calc(var(--cap-fs0) * var(--cap-scale));overflow-wrap:anywhere;text-wrap:pretty;transition:opacity .3s,color .3s}.cap-box[hidden]{display:none}.cap-box.draft{opacity:var(--draft-opacity,.85);color:var(--draft-color,var(--cap-color));font-style:var(--draft-style,normal)}.cap-box.enter{animation:.25s ease-out cap-in}.cap-box .chg{animation:.3s ease-out cap-chg}@keyframes cap-in{0%{opacity:0}}@keyframes cap-chg{0%{opacity:.4}}@media (prefers-reduced-motion:reduce){.cap-box.enter,.cap-box .chg{animation:none}.cap-box{transition:none}}.cap-box .l0{font-size:calc(var(--cap-fs0) * var(--cap-scale));font-weight:var(--cap-w0,600)}.cap-box .l1{font-size:calc(var(--cap-fs1) * var(--cap-scale));font-weight:var(--cap-w1,500)}.cap-box .src{font-size:calc(var(--cap-fs1) * var(--cap-scale) * .75);opacity:.75}.cap-box.side{grid-template-columns:1fr 1fr;gap:1em;display:grid}.cap-box.shadow{text-shadow:0 2px 6px #000000b3,0 0 2px #000000e6}.cap-box.stroke{-webkit-text-stroke:calc(var(--cap-stroke-w) * var(--cap-scale)) var(--cap-stroke-c);paint-order:stroke fill}.event-name{font-size:calc(var(--cap-fs1) * var(--cap-scale) * .6);color:var(--cap-color);opacity:.7;letter-spacing:.04em;text-align:var(--cap-align);font-family:var(--cap-font)}.event-name[hidden]{display:none}.comp-stage{aspect-ratio:16/9;background:#000;outline:1px solid #333;width:100%;max-width:100%;max-height:100%;position:relative;overflow:hidden}.comp-stage video{object-fit:contain;background:#000;width:100%;height:100%;position:absolute;inset:0}.comp-stage .source-message{color:#ffffff8c;text-align:center;place-items:center;padding:20px;font:14px system-ui,sans-serif;display:grid;position:absolute;inset:0}.comp-stage .source-message[hidden]{display:none}.rect-editor{box-sizing:border-box;cursor:move;touch-action:none;z-index:3;border:2px dashed #2dd4bff2;outline:none;position:absolute}.rect-editor[hidden]{display:none}.rect-editor:focus-visible{box-shadow:0 0 0 3px #2dd4bf66}.rect-handle{box-sizing:border-box;background:#2dd4bf;border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin:-7px;position:absolute}.rect-handle:focus-visible{outline-offset:2px;outline:2px solid #fff}.rect-handle.n{cursor:ns-resize;top:0;left:50%}.rect-handle.s{cursor:ns-resize;top:100%;left:50%}.rect-handle.e{cursor:ew-resize;top:50%;left:100%}.rect-handle.w{cursor:ew-resize;top:50%;left:0}.rect-handle.nw{cursor:nwse-resize;top:0;left:0}.rect-handle.se{cursor:nwse-resize;top:100%;left:100%}.rect-handle.ne{cursor:nesw-resize;top:0;left:100%}.rect-handle.sw{cursor:nesw-resize;top:100%;left:0}.profile-editor{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:20px;display:grid}.profile-editor .preview{gap:8px;display:grid;position:sticky;top:0}.profile-editor .comp-stage{outline:1px solid var(--line,#333);border-radius:8px}.profile-editor .preview .hint{margin:0}@media (width<=860px){.profile-editor{grid-template-columns:1fr}.profile-editor .preview{order:-1;position:static}}
