/* Sobekhanei Image to Text OCR - page-scoped styles only */
.sob-ocr-tool{margin:0 0 34px;color:#0F172A;font-family:"Noto Sans Bengali",Inter,sans-serif}
.sob-ocr-panel{padding:clamp(18px,3vw,30px);border:1px solid #DBEAFE;border-radius:18px;background:#fff;box-shadow:0 6px 22px rgba(37,99,235,.07)}
.sob-ocr-heading{margin-bottom:20px}
.sob-ocr-kicker{display:inline-block;margin-bottom:7px;color:#2563EB;font:750 11px/1.4 Inter,sans-serif;letter-spacing:1.2px}
.sob-ocr-heading h2{margin:0 0 8px;color:#0F172A;font-size:clamp(21px,3vw,27px);font-weight:800;line-height:1.45}
.sob-ocr-heading p{margin:0;color:#52627E;font-size:14px;line-height:1.8}
.sob-ocr-privacy{display:flex;align-items:flex-start;gap:11px;margin:18px 0;padding:13px 15px;border:1px solid #BFDBFE;border-radius:12px;background:#EFF6FF;color:#1D4ED8;font-size:13px;line-height:1.75}
.sob-ocr-privacy>span:first-child{font-size:19px;line-height:1.3}
.sob-ocr-controls{display:grid;gap:7px;max-width:320px;margin:18px 0}
.sob-ocr-label{display:block;margin:0 0 7px;color:#0F172A;font-size:14px;font-weight:750}
.sob-ocr-select{width:100%;min-height:46px;padding:10px 13px;border:1px solid #CBD5E1;border-radius:10px;background:#fff;color:#0F172A;font:inherit;font-size:14px}
.sob-ocr-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);border:0}
.sob-ocr-dropzone{display:flex;width:100%;min-height:205px;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:22px 16px;border:2px dashed #93C5FD;border-radius:15px;background:#F8FAFC;color:#334155;text-align:center;font:inherit;cursor:pointer;transition:border-color .18s ease,background .18s ease}
.sob-ocr-dropzone:hover,.sob-ocr-dropzone:focus-visible,.sob-ocr-dropzone.is-dragging{border-color:#2563EB;background:#EFF6FF;outline:0}
.sob-ocr-upload-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#DBEAFE;color:#1D4ED8;font:700 26px/1 Inter,sans-serif}
.sob-ocr-dropzone strong{color:#0F172A;font-size:15px}
.sob-ocr-dropzone>span:not(.sob-ocr-upload-icon):not(.sob-ocr-choose){color:#64748B;font-size:12px}
.sob-ocr-dropzone small{color:#64748B;font-size:11px}
.sob-ocr-choose{display:inline-flex;align-items:center;justify-content:center;min-height:37px;margin-top:4px;padding:7px 16px;border-radius:9px;background:#2563EB;color:#fff;font-size:13px;font-weight:750}
.sob-ocr-file-meta{margin:12px 0;color:#52627E;font-size:12px;overflow-wrap:anywhere}
.sob-ocr-progress{margin:18px 0;padding:13px 14px;border:1px solid #DBEAFE;border-radius:12px;background:#F8FAFC}
.sob-ocr-progress-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px;color:#334155;font-size:12px}
.sob-ocr-progress-top strong{color:#1D4ED8;font-family:Inter,sans-serif}
.sob-ocr-progress-track{height:9px;overflow:hidden;border-radius:20px;background:#DBEAFE}
.sob-ocr-progress-track span{display:block;width:0;height:100%;border-radius:20px;background:#2563EB;transition:width .2s ease}
.sob-ocr-error{margin:14px 0;padding:12px 14px;border:1px solid #FECACA;border-radius:10px;background:#FFF1F2;color:#B91C1C;font-size:13px;line-height:1.7}
.sob-ocr-result-wrap{margin-top:22px}
.sob-ocr-output{display:block;width:100%;min-height:230px;box-sizing:border-box;padding:14px;border:1px solid #CBD5E1;border-radius:11px;background:#fff;color:#0F172A;font:15px/1.85 "Noto Sans Bengali",sans-serif;resize:vertical}
.sob-ocr-output:focus,.sob-ocr-select:focus{border-color:#2563EB;outline:0;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.sob-ocr-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
.sob-ocr-btn{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:9px 15px;border:1px solid transparent;border-radius:10px;font:700 13px/1.4 "Noto Sans Bengali",sans-serif;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.sob-ocr-btn:focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}
.sob-ocr-btn-primary{background:#2563EB;color:#fff}
.sob-ocr-btn-primary:hover{background:#1D4ED8}
.sob-ocr-btn-secondary{border-color:#BFDBFE;background:#EFF6FF;color:#1D4ED8}
.sob-ocr-btn-secondary:hover{background:#DBEAFE}
.sob-ocr-btn-quiet{border-color:#E2E8F0;background:#fff;color:#475569}
.sob-ocr-btn-quiet:hover{background:#F1F5F9}
.sob-ocr-bijoy-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:13px}
.sob-ocr-btn-bijoy{background:#1D4ED8;color:#fff}
.sob-ocr-btn-bijoy:hover{background:#1D4ED8}
.sob-ocr-bijoy-wrap small{color:#64748B;font-size:11px}
.sob-ocr-disclaimer{margin:18px 0 0;padding-top:14px;border-top:1px solid #E2E8F0;color:#64748B;font-size:12px;line-height:1.8}
.sob-ocr-guide{margin:28px 0 0;color:#334155;font-size:15px;line-height:1.95}
.sob-ocr-guide h2,.sob-ocr-faq h2{margin:26px 0 12px;color:#0F172A;font-size:21px;font-weight:800;line-height:1.5}
.sob-ocr-guide h3{margin:20px 0 8px;color:#0F172A;font-size:17px;font-weight:750}
.sob-ocr-guide p{margin:0 0 14px}
.sob-ocr-guide ol,.sob-ocr-guide ul{padding-left:24px;margin:0 0 17px}
.sob-ocr-guide li{margin:0 0 8px}
.sob-ocr-guide a{color:#1D4ED8;font-weight:700;text-decoration:underline}
.sob-ocr-faq{margin-top:24px}
.sob-ocr-faq-list{display:grid;gap:9px}
.sob-ocr-faq details{border:1px solid #E2E8F0;border-radius:11px;background:#fff;padding:12px 15px}
.sob-ocr-faq summary{color:#0F172A;font-size:14px;font-weight:750;cursor:pointer;line-height:1.65}
.sob-ocr-faq details p{margin:9px 0 2px;color:#52627E;font-size:13px;line-height:1.85}
.sob-ocr-guide-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}
.sob-ocr-guide-links a{display:inline-flex;padding:8px 12px;border:1px solid #BFDBFE;border-radius:9px;background:#EFF6FF;color:#1D4ED8;font-size:13px;font-weight:700;text-decoration:none}
html.sob-home-dark .sob-ocr-panel{background:#0F172A;border-color:#334155;color:#E2E8F0}
html.sob-home-dark .sob-ocr-heading h2,html.sob-home-dark .sob-ocr-guide h2,html.sob-home-dark .sob-ocr-guide h3,html.sob-home-dark .sob-ocr-faq h2,html.sob-home-dark .sob-ocr-dropzone strong,html.sob-home-dark .sob-ocr-label,html.sob-home-dark .sob-ocr-faq summary{color:#F1F5F9}
html.sob-home-dark .sob-ocr-heading p,html.sob-home-dark .sob-ocr-guide,html.sob-home-dark .sob-ocr-faq details p{color:#CBD5E1}
html.sob-home-dark .sob-ocr-select,html.sob-home-dark .sob-ocr-output,html.sob-home-dark .sob-ocr-faq details{background:#0F172A;border-color:#475569;color:#F1F5F9}
html.sob-home-dark .sob-ocr-dropzone{background:#0F172A;border-color:#2563EB;color:#DBEAFE}
html.sob-home-dark .sob-ocr-privacy{background:#0F172A;border-color:#1D4ED8;color:#BFDBFE}
html.sob-home-dark .sob-ocr-progress{background:#0F172A;border-color:#1E40AF}
html.sob-home-dark .sob-ocr-error{background:#FEE2E2;border-color:#FECACA;color:#B91C1C}
@media(max-width:700px){
 .sob-ocr-panel{padding:17px 14px;border-radius:14px}
 .sob-ocr-dropzone{min-height:180px;padding:18px 12px}
 .sob-ocr-actions{display:grid;grid-template-columns:1fr}
 .sob-ocr-btn{width:100%;box-sizing:border-box}
 .sob-ocr-bijoy-wrap{align-items:flex-start;flex-direction:column}
 .sob-ocr-guide{font-size:14px}
 .sob-ocr-guide h2,.sob-ocr-faq h2{font-size:19px}
 .sob-ocr-output{min-height:200px}
}


/* Google Lens-style manual region selection */
.sob-ocr-region-picker{margin:18px 0 20px;padding:16px;border:1px solid #BFDBFE;border-radius:14px;background:#F8FAFC}
.sob-ocr-region-heading{margin:0 0 12px}
.sob-ocr-region-heading strong{display:block;color:#0F172A;font-size:15px;font-weight:800}
.sob-ocr-region-heading p{margin:5px 0 0;color:#52627E;font-size:12px;line-height:1.75}
.sob-ocr-preview-frame{display:flex;justify-content:center;align-items:center;max-width:100%;max-height:560px;overflow:auto;padding:8px;border:1px solid #E2E8F0;border-radius:11px;background:#F1F5F9}
.sob-ocr-preview-stage{position:relative;display:inline-block;max-width:100%;line-height:0;user-select:none;-webkit-user-select:none;touch-action:none}
.sob-ocr-preview-image{display:block;width:auto;height:auto;max-width:100%;max-height:520px;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.sob-ocr-selection-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none}
.sob-ocr-selection-canvas:focus-visible{outline:3px solid #93C5FD;outline-offset:3px}
.sob-ocr-region-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.sob-ocr-selection-status{margin:0;color:#475569;font-size:12px;line-height:1.6}
.sob-ocr-region-tools .sob-ocr-actions{margin:0}
.sob-ocr-btn:disabled{opacity:.48;cursor:not-allowed}
.sob-ocr-region-result{margin:22px 0 0;padding:16px;border:1px solid #BFDBFE;border-radius:12px;background:#EFF6FF}
.sob-ocr-region-output{min-height:150px}
html.sob-home-dark .sob-ocr-region-picker{background:#0F172A;border-color:#334155}
html.sob-home-dark .sob-ocr-region-heading strong{color:#F1F5F9}
html.sob-home-dark .sob-ocr-region-heading p,html.sob-home-dark .sob-ocr-selection-status{color:#CBD5E1}
html.sob-home-dark .sob-ocr-preview-frame{background:#0F172A;border-color:#334155}
html.sob-home-dark .sob-ocr-region-result{background:#1E40AF;border-color:#1E40AF}
@media(max-width:600px){
  .sob-ocr-region-picker{padding:12px}
  .sob-ocr-preview-frame{padding:5px;max-height:470px}
  .sob-ocr-preview-image{max-height:450px}
  .sob-ocr-region-tools{align-items:stretch}
  .sob-ocr-region-tools .sob-ocr-actions{width:100%}
  .sob-ocr-region-tools .sob-ocr-btn{flex:1 1 100%}
  .sob-ocr-region-result{padding:12px}
}

.sob-ocr-page-content{max-width:1180px;margin:0 auto;padding:18px 16px 48px}
.sob-ocr-page-title{margin:12px 0 20px;color:#0F172A;font-size:clamp(24px,3.5vw,32px);font-weight:800;line-height:1.35}
html.sob-home-dark .sob-ocr-page-title{color:#F1F5F9}
