.camera-touch-controls { position:absolute; inset:auto max(12px,env(safe-area-inset-right)) max(62px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); z-index:35; display:flex; align-items:end; justify-content:space-between; gap:10px; pointer-events:none; font-family:var(--font); }
.camera-touch-controls[hidden] { display:none; }
.camera-touch-controls button,.camera-touch-look { pointer-events:auto; color:var(--text); background:rgba(16,21,33,.85); border:1px solid var(--line); border-radius:10px; min-width:44px; min-height:44px; touch-action:none; user-select:none; font:600 14px var(--font); }
.camera-touch-controls button:active { background:rgba(90,140,190,.7); }
.camera-touch-controls button:focus-visible,.camera-touch-look:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.camera-touch-move { display:grid; grid-template-columns:repeat(3,44px); gap:4px; }
.camera-touch-move button:first-child { grid-column:2; }
.camera-touch-move button:nth-child(2) { grid-column:1; }
.camera-touch-look { width:88px; height:88px; display:grid; place-items:center; background:rgba(16,21,33,.5); }
.camera-touch-controls [data-camera-return] { position:absolute; right:0; bottom:100px; font-size:10px; padding:8px; }
.camera-touch-controls [data-camera-action] { position:absolute; right:0; bottom:152px; }
.publish-viewer-controls { margin-top:20px; border:1px solid var(--line); border-radius:12px; padding:16px; }
.publish-viewer-controls legend { font-weight:600; padding:0 6px; }
.publish-viewer-controls label { display:flex; align-items:center; gap:12px; margin:12px 0; cursor:pointer; }
.publish-viewer-controls small { display:block; color:var(--muted); font-size:11px; margin-top:4px; }
.publish-viewer-controls .viewer-preview-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.publish-viewer-controls p { color:var(--muted); font-size:12px; }
.camera-navigation-exit { position:absolute; right:max(12px,env(safe-area-inset-right)); top:max(12px,env(safe-area-inset-top)); z-index:35; min-height:44px; padding:8px 12px; border:1px solid var(--line); border-radius:10px; background:rgba(16,21,33,.85); color:var(--text); font:600 11px var(--font); }
.camera-navigation-exit[hidden] { display:none; }
