.mt-virtual-camera-panel{border-bottom:1px solid var(--director-border,var(--mt-color-border));font-size:var(--director-sidebar-label-size,var(--mt-text-xs));gap:0;padding:8px 16px 16px;display:grid}.mt-virtual-camera-panel.is-paired{padding-top:14px}.mt-virtual-camera-panel>strong{font-size:var(--mt-text-sm);font-weight:600;line-height:20px}.mt-virtual-camera-panel p{color:var(--director-muted,var(--mt-color-text-secondary));overflow-wrap:anywhere;margin:4px 0 0;line-height:20px}.mt-virtual-camera-qr{box-sizing:border-box;aspect-ratio:1;background:var(--mt-color-on-brand);border-radius:12px;justify-content:center;align-items:center;width:100%;margin-top:16px;padding:8px;display:flex;overflow:hidden}.mt-virtual-camera-qr svg{width:100%;height:auto;display:block}.mt-virtual-camera-qr p{color:var(--mt-color-text-muted);text-align:center;padding:16px}.mt-virtual-camera-actions{grid-template-columns:minmax(0,1fr) 50px;gap:8px;margin-top:16px;display:grid}.mt-virtual-camera-panel button{border-radius:var(--director-sidebar-radius,var(--mt-radius-sm));background:var(--director-control,var(--mt-color-surface-3));height:36px;color:var(--director-muted,var(--mt-color-text-muted));cursor:pointer;font:inherit;border:0;padding:0 8px}.mt-virtual-camera-panel button:hover:not(:disabled){background:var(--director-control-hover,var(--mt-color-surface-2))}.mt-virtual-camera-panel button:active:not(:disabled){filter:brightness(.9)}.mt-virtual-camera-actions .mt-virtual-camera-record{color:var(--director-inspector-panel,var(--mt-color-bg));background:var(--director-text,var(--mt-color-text))}.mt-virtual-camera-actions .mt-virtual-camera-record:hover:not(:disabled){background:var(--mt-color-on-brand)}.mt-virtual-camera-panel button:focus-visible{outline:2px solid var(--mt-color-brand);outline-offset:2px}.mt-director-studio .mt-virtual-camera-panel button:disabled{opacity:1;cursor:not-allowed}.mt-virtual-camera-panel [role=alert]{color:var(--mt-color-danger)}.mt-virtual-camera-mobile{--vcam-background:#050606;--vcam-surface:#202223;--vcam-text:#f3f4f4;--vcam-muted:#a0a6a7;--vcam-border:#292d2e;--vcam-accent:#08bbdd;--vcam-frame-mark:#626768;--vcam-knob:#888b8c;--vcam-ring:#d1d4d5;box-sizing:border-box;width:100dvw;height:100dvh;padding:calc(14 * var(--vcam-unit));gap:calc(18 * var(--vcam-unit));background:var(--vcam-background);color:var(--vcam-text);font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif;font-size:calc(18 * var(--vcam-unit));-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;-webkit-touch-callout:none;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.mt-virtual-camera-mobile button{justify-content:center;align-items:center;gap:calc(7 * var(--vcam-unit));padding:calc(10 * var(--vcam-unit)) calc(16 * var(--vcam-unit));border-radius:var(--mt-radius-full);color:var(--vcam-text);background:var(--vcam-surface);font:inherit;white-space:nowrap;touch-action:none;border:0;flex-shrink:0;line-height:1;display:inline-flex}.mt-virtual-camera-mobile button:hover:not(:disabled){background:color-mix(in srgb, var(--vcam-surface), white 10%)}.mt-virtual-camera-mobile button:active:not(:disabled){background:color-mix(in srgb, var(--vcam-surface), white 18%)}.mt-virtual-camera-mobile button:focus-visible,.mt-vcam-joystick:focus-visible{outline:2px solid var(--vcam-accent);outline-offset:3px}.mt-virtual-camera-mobile button:disabled{opacity:1;cursor:default}.mt-virtual-camera-mobile svg{width:calc(25 * var(--vcam-unit));height:calc(25 * var(--vcam-unit));stroke-width:1.8px;flex-shrink:0}.mt-virtual-camera-mobile .mt-vcam-toolbar{height:calc(48 * var(--vcam-unit));gap:calc(14 * var(--vcam-unit));flex-wrap:nowrap;flex-shrink:0;display:flex}.mt-vcam-brand{min-width:calc(220 * var(--vcam-unit));align-items:center;gap:calc(12 * var(--vcam-unit));flex:1;display:flex}.mt-vcam-brand strong{font-size:calc(18 * var(--vcam-unit));white-space:nowrap;font-weight:600}.mt-vcam-brand i{width:calc(12 * var(--vcam-unit));height:calc(12 * var(--vcam-unit));border-radius:var(--mt-radius-full);background:var(--mt-color-text-muted);box-shadow:0 0 0 calc(5 * var(--vcam-unit)) color-mix(in srgb, var(--vcam-muted) 7%, transparent)}.mt-vcam-brand i[data-connected=true]{background:var(--vcam-accent)}.mt-vcam-toolbar nav{justify-content:space-between;align-items:center;gap:calc(14 * var(--vcam-unit));flex:1;display:flex}.mt-vcam-toolbar nav>button,.mt-vcam-settings-anchor>button{height:calc(42 * var(--vcam-unit))}.mt-vcam-toolbar nav>button[aria-pressed=true]{color:var(--vcam-accent);box-shadow:inset 0 0 0 1px var(--vcam-accent)}.mt-vcam-toolbar nav>.mt-vcam-icon,.mt-vcam-settings-anchor>.mt-vcam-icon{padding:calc(9 * var(--vcam-unit));width:calc(55 * var(--vcam-unit));background:0 0}.mt-vcam-toolbar nav>.mt-vcam-gyro{padding-inline:calc(8 * var(--vcam-unit));background:0 0}.mt-vcam-toolbar span{color:inherit;font-size:inherit}.mt-vcam-switch{box-sizing:border-box;width:calc(36 * var(--vcam-unit));height:calc(22 * var(--vcam-unit));padding:calc(3 * var(--vcam-unit));border-radius:var(--mt-radius-full);background:var(--vcam-text);align-items:center;display:flex}.mt-vcam-switch b{width:calc(16 * var(--vcam-unit));height:calc(16 * var(--vcam-unit));border-radius:var(--mt-radius-full);background:var(--vcam-surface)}.mt-vcam-gyro[aria-checked=true] .mt-vcam-switch b{transform:translateX(calc(14 * var(--vcam-unit)))}.mt-vcam-toolbar nav>.mt-vcam-record{min-width:calc(100 * var(--vcam-unit))}.mt-vcam-record>svg{border:calc(2 * var(--vcam-unit)) solid currentColor;border-radius:var(--mt-radius-full);padding:calc(4 * var(--vcam-unit));box-sizing:border-box}.mt-vcam-toolbar nav>.mt-vcam-record[aria-pressed=true]{color:var(--mt-color-danger);box-shadow:inset 0 0 0 1px}.mt-vcam-viewfinder{border:1px solid var(--vcam-border);border-radius:calc(20 * var(--vcam-unit));background:radial-gradient(ellipse at center, #10181b, var(--vcam-background) 78%);flex:1;min-height:0;position:relative;overflow:hidden}.mt-vcam-viewfinder>video{object-fit:contain;width:100%;height:100%;display:block}.mt-vcam-corner{width:calc(23 * var(--vcam-unit));height:calc(23 * var(--vcam-unit));border:0 solid var(--vcam-frame-mark);pointer-events:none;position:absolute}.mt-vcam-corner.is-top-left{top:calc(14 * var(--vcam-unit));left:calc(14 * var(--vcam-unit));border-top-width:2px;border-left-width:2px}.mt-vcam-corner.is-top-right{top:calc(14 * var(--vcam-unit));right:calc(14 * var(--vcam-unit));border-top-width:2px;border-right-width:2px}.mt-vcam-corner.is-bottom-left{bottom:calc(14 * var(--vcam-unit));left:calc(14 * var(--vcam-unit));border-bottom-width:2px;border-left-width:2px}.mt-vcam-corner.is-bottom-right{bottom:calc(14 * var(--vcam-unit));right:calc(14 * var(--vcam-unit));border-bottom-width:2px;border-right-width:2px}.mt-vcam-viewfinder>.mt-vcam-elevation{top:calc(22 * var(--vcam-unit));width:calc(60 * var(--vcam-unit));height:calc(60 * var(--vcam-unit));padding:0;position:absolute}.mt-vcam-elevation.is-up{left:calc(34 * var(--vcam-unit))}.mt-vcam-elevation.is-down{right:calc(34 * var(--vcam-unit))}.mt-vcam-elevation svg{width:calc(36 * var(--vcam-unit));height:calc(36 * var(--vcam-unit));stroke-width:2.3px}.mt-vcam-joystick-wrap{left:calc(35 * var(--vcam-unit));bottom:calc(12 * var(--vcam-unit));align-items:center;gap:calc(12 * var(--vcam-unit));flex-direction:column;display:flex;position:absolute}.mt-vcam-joystick{box-sizing:border-box;width:calc(128 * var(--vcam-unit));height:calc(128 * var(--vcam-unit));border:calc(7 * var(--vcam-unit)) solid var(--vcam-ring);border-radius:var(--mt-radius-full);background:color-mix(in srgb, var(--vcam-surface) 75%, transparent);touch-action:none;justify-content:center;align-items:center;display:flex;position:relative}.mt-vcam-joystick-cross{border:1px solid var(--vcam-frame-mark);border-radius:inherit;background:linear-gradient(transparent calc(50% - 1px), var(--vcam-border) 50%, transparent calc(50% + 1px)), linear-gradient(90deg, transparent calc(50% - 1px), var(--vcam-border) 50%, transparent calc(50% + 1px));position:absolute;inset:0}.mt-vcam-joystick-center{width:calc(56 * var(--vcam-unit));height:calc(56 * var(--vcam-unit));border:1px solid var(--vcam-border);border-radius:inherit}.mt-vcam-joystick-knob{width:calc(44 * var(--vcam-unit));height:calc(44 * var(--vcam-unit));padding:calc(4 * var(--vcam-unit));box-sizing:border-box;border:calc(3 * var(--vcam-unit)) solid var(--vcam-ring);border-radius:inherit;background:var(--vcam-frame-mark);box-shadow:0 0 0 calc(3 * var(--vcam-unit)) color-mix(in srgb, var(--vcam-muted) 18%, transparent);position:absolute}.mt-vcam-joystick-knob>i{border-radius:inherit;background:var(--vcam-knob);width:100%;height:100%;display:block}.mt-vcam-joystick-knob>i:after{content:"";background:color-mix(in srgb, var(--vcam-ring), transparent 40%);border-radius:50%;width:40%;height:24%;position:absolute;top:18%;left:23%;transform:rotate(-27deg)}.mt-vcam-joystick-label{color:var(--vcam-muted);font-size:calc(14 * var(--vcam-unit))}.mt-vcam-focal{bottom:calc(31 * var(--vcam-unit));gap:calc(19 * var(--vcam-unit));display:flex;position:absolute;left:50%;transform:translate(-50%)}.mt-vcam-focal>button{border-radius:var(--mt-radius-sm);color:var(--vcam-muted);font-size:calc(22 * var(--vcam-unit));padding:calc(8 * var(--vcam-unit));background:0 0}.mt-vcam-focal>button[aria-pressed=true]{color:var(--vcam-accent)}.mt-vcam-overlay{justify-content:center;align-items:center;gap:calc(16 * var(--vcam-unit));pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.mt-vcam-overlay>button{pointer-events:auto}.mt-vcam-overlay p{max-width:60%;color:var(--mt-color-danger);text-align:center;font-size:calc(17 * var(--vcam-unit))}.mt-vcam-loading{align-items:center;gap:calc(16 * var(--vcam-unit));color:var(--vcam-muted);font-size:calc(18 * var(--vcam-unit));display:flex}.mt-vcam-loading>i{box-sizing:border-box;width:calc(36 * var(--vcam-unit));height:calc(36 * var(--vcam-unit));border:calc(3 * var(--vcam-unit)) solid var(--vcam-border);border-radius:var(--mt-radius-full);border-right-color:#57d1ed;animation:1s linear infinite mt-vcam-spin}.mt-vcam-settings{top:calc(100% + 18 * var(--vcam-unit));width:calc(315 * var(--vcam-unit));max-height:calc(100vmin - 95 * var(--vcam-unit));z-index:var(--mt-z-popover);box-sizing:border-box;padding:calc(20 * var(--vcam-unit));border:1px solid var(--vcam-border);border-radius:calc(16 * var(--vcam-unit));background:var(--vcam-surface);box-shadow:var(--mt-shadow-floating);font-size:calc(16 * var(--vcam-unit));touch-action:pan-y;position:absolute;left:50%;overflow-y:auto;transform:translate(-50%)}.mt-vcam-settings>header{margin-bottom:calc(18 * var(--vcam-unit));justify-content:space-between;display:flex}.mt-vcam-settings label{gap:calc(10 * var(--vcam-unit));margin-block:calc(16 * var(--vcam-unit));grid-template-columns:1fr auto;display:grid}.mt-vcam-settings input{width:100%;accent-color:var(--vcam-accent);touch-action:none;grid-column:1/-1}.mt-vcam-settings p{color:var(--vcam-muted);font-size:calc(13 * var(--vcam-unit))}.mt-vcam-notice{top:calc(12 * var(--vcam-unit));max-width:65%;padding:calc(8 * var(--vcam-unit)) calc(14 * var(--vcam-unit));border:1px solid var(--vcam-border);border-radius:var(--mt-radius-md);background:var(--vcam-surface);font-size:calc(15 * var(--vcam-unit));align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.mt-vcam-notice button{padding:calc(6 * var(--vcam-unit))}@keyframes mt-vcam-spin{to{transform:rotate(360deg)}}@media (orientation:portrait){.mt-virtual-camera-mobile{width:100dvh;height:100dvw;inset:50% auto auto 50%;transform:translate(-50%,-50%)rotate(90deg)}}@media (prefers-reduced-motion:reduce){.mt-vcam-loading>i{animation:none}}.mt-vcam-settings-anchor{flex-shrink:0;position:relative}
