.touch-target{min-height:44px;min-width:44px;touch-action:manipulation}@media (max-width:768px){.touch-target{min-height:48px;min-width:48px}.recording-control-button{min-height:56px;min-width:56px;padding:12px}.native-camera-input{padding:16px}.mobile-button-group{gap:12px}.mobile-button-group button{flex:1;min-height:48px}}@media (min-width:768px) and (max-width:1024px){.touch-target{min-height:44px;min-width:44px}.recording-control-button{min-height:52px;min-width:52px;padding:10px}}.native-camera-input{position:relative}.native-camera-input input[type=file]{position:absolute;opacity:0;pointer-events:none}.file-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}@media (max-width:480px){.file-preview-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.hybrid-recording-modal{max-width:90vw;max-height:85vh;margin:5vh auto}.hybrid-recording-content{padding:16px}.mobile-video-preview{max-height:200px;width:100%;-o-object-fit:cover;object-fit:cover}.mobile-audio-controls{height:40px;width:100%}}@media (hover:none) and (pointer:coarse){.hover-effect:hover{transform:none;box-shadow:none}button{padding:12px 16px}button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}}@supports (-webkit-touch-callout:none){.native-camera-input input[type=file]{-webkit-appearance:none}input,select,textarea{font-size:16px}}@media (min-resolution:192dpi){.recording-icon{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media (orientation:landscape) and (max-height:500px){.hybrid-recording-modal{max-height:95vh}.mobile-video-preview{max-height:150px}}@supports (padding:max(0px)){.mobile-composer{padding-bottom:max(16px,env(safe-area-inset-bottom))}.mobile-header{padding-top:max(16px,env(safe-area-inset-top))}}@media (prefers-reduced-motion:reduce){.pulse-animation,.recording-animation{animation:none}}@media (prefers-color-scheme:dark){.native-camera-input{background-color:#1f2937;color:#f9fafb}.recording-preview{border-color:#374151}}.video-preview-canvas{will-change:transform;transform:translateZ(0)}.recording-controls{will-change:opacity}.recording-interface{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (max-width:768px){button:active{transform:scale(.98);transition:transform .1s ease}.recording-button:active{background-color:rgba(59,130,246,.1)}}