.cp-mobile-banner{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-2);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.625rem .875rem;font-size:.8125rem;display:flex}.cp-mobile-banner-dismiss{cursor:pointer;color:var(--text-3);background:0 0;border:none;padding:0 .25rem;font-size:1.25rem;line-height:1}.cp-mobile-banner-dismiss:hover{color:var(--text)}.cp-dropzone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;padding:3rem 2rem;transition:border-color .2s,background .2s}.cp-dropzone:hover,.cp-dropzone.drag-over{border-color:var(--accent);background:var(--bg-soft)}.cp-dropzone-inner{flex-direction:column;align-items:center;gap:.5rem;display:flex}.cp-upload-icon{color:var(--text-3);margin-bottom:.5rem}.cp-dropzone-title{color:var(--text);margin:0;font-size:1.125rem;font-weight:600}.cp-dropzone-sub{color:var(--text-2);margin:0;font-size:.875rem}.cp-dropzone-formats{color:var(--text-3);margin:.25rem 0 0;font-size:.75rem}.cp-info{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-2);align-items:flex-start;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;font-size:.8125rem;line-height:1.5;display:flex}.cp-info svg{color:var(--text-3);flex-shrink:0;margin-top:1px}.cp-ratio-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.875rem;display:flex}.cp-ratio-label{color:var(--text-2);margin-right:.25rem;font-size:.8125rem;font-weight:500}.cp-ratio-btn{border:1px solid var(--border);background:var(--bg);color:var(--text-2);cursor:pointer;border-radius:6px;padding:5px 12px;font-size:.8125rem;transition:border-color .15s,background .15s,color .15s}.cp-ratio-btn:hover{border-color:var(--accent);color:var(--accent)}.cp-ratio-btn--active{border-color:var(--accent);background:var(--accent);color:#fff}.cp-ratio-btn--active:hover{color:#fff}.cp-video-wrap{max-width:100%;margin-bottom:.75rem;display:inline-block;position:relative}.cp-video-wrap video{border-radius:var(--radius);border:1px solid var(--border);background:#000;max-width:100%;height:auto;display:block}.cp-crop-overlay{pointer-events:none;position:absolute;inset:0}.cp-shade{pointer-events:none}.cp-crop-box{cursor:move;pointer-events:auto;touch-action:none;box-sizing:border-box;border:2px solid #fff;position:absolute;box-shadow:0 0 0 1px #00000080}.cp-handle{pointer-events:auto;touch-action:none;box-sizing:border-box;background:#fff;border:1px solid #000;width:14px;height:14px;position:absolute}.cp-handle-tl{cursor:nwse-resize;top:-7px;left:-7px}.cp-handle-tr{cursor:nesw-resize;top:-7px;right:-7px}.cp-handle-bl{cursor:nesw-resize;bottom:-7px;left:-7px}.cp-handle-br{cursor:nwse-resize;bottom:-7px;right:-7px}.cp-readout{color:var(--text-2);font-size:.875rem;font-weight:600;font-family:var(--font-mono);min-height:1.25rem;margin-bottom:.875rem}.cp-actions{align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.cp-progress{text-align:center;padding:2rem}.cp-progress-text{color:var(--text);margin-bottom:1rem;font-size:.9375rem;font-weight:600}.cp-progress-track{background:var(--bg-hover);border-radius:4px;width:100%;max-width:400px;height:8px;margin:0 auto;overflow:hidden}.cp-progress-fill{background:var(--accent);border-radius:4px;width:0%;height:100%;transition:width .3s}.cp-progress-detail{color:var(--text-3);margin-top:.5rem;font-size:.75rem}.cp-error{background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.cp-error-text{color:#c53030;font-size:.875rem}.cp-error-retry{background:var(--bg);border:1px solid var(--border);cursor:pointer;white-space:nowrap;color:var(--text);border-radius:6px;padding:6px 14px;font-size:.8125rem}.cp-error-retry:hover{background:var(--bg-hover)}.cp-result-preview{text-align:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft);justify-content:center;align-items:center;min-height:100px;margin-bottom:.75rem;padding:.5rem;display:flex}.cp-result-preview video{background:#000;border-radius:6px;max-width:100%;max-height:500px}.cp-result-stats{color:var(--text-2);text-align:center;margin-bottom:.75rem;font-size:.875rem;line-height:1.6}.cp-result-actions{justify-content:center;align-items:center;gap:.75rem;display:flex}@media (width<=768px){.cp-ratio-row{gap:.375rem}.cp-ratio-btn{padding:4px 8px;font-size:.75rem}}
