.camera-intro { color:var(--label-2); line-height:1.6; margin:8px 0 18px; }
.camera-actions { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
.camera-actions button { border-radius:14px; padding:12px 16px; min-height:44px; font:inherit; cursor:pointer; max-width:100%; overflow-wrap:anywhere; }
.camera-primary { background:var(--blue,#278abe); color:white; border:1px solid transparent; }
.camera-secondary { color:var(--label); background:var(--card,#fff); border:1px solid var(--separator,#dce3e8); }
.camera-actions button:disabled { opacity:.45; cursor:default; }
#cameraPreview { display:block; width:100%; max-height:300px; object-fit:contain; border-radius:16px; background:var(--card,#fff); margin:16px 0; }
#cameraPreview[hidden] { display:none; }
.camera-purpose { display:grid; gap:6px; font-size:14px; margin:14px 0; }
.camera-purpose select { width:100%; padding:12px; border:1px solid var(--separator,#dce3e8); border-radius:12px; background:var(--card,#fff); color:var(--label); font:inherit; }
.camera-consent { display:flex; align-items:flex-start; gap:10px; font-size:13px; line-height:1.6; }
.camera-consent input { width:20px; height:20px; flex-shrink:0; margin-top:2px; }
.camera-status { font-size:14px; line-height:1.6; }
.camera-status.has-error { color:#a13f32; }
.camera-result { padding:18px; background:var(--green-bg,#edf7fd); border-radius:18px; margin:16px 0; line-height:1.65; overflow-wrap:anywhere; }
.camera-result h2 { margin:0 0 10px; font-size:20px; }
.camera-result h3 { margin:18px 0 6px; font-size:15px; }
.camera-result p { margin:8px 0; }
.camera-result ul { padding-left:20px; }
.camera-reading { white-space:pre-wrap; }
.camera-action { font-weight:700; }
.camera-phrase { margin-top:18px; padding:12px; border:1px solid var(--separator,#dce3e8); border-radius:14px; background:var(--card,#fff); }
.camera-korean { font-size:21px; font-weight:700; }
