/* カメラ読み取り */
.ocr-msg{margin:10px 0 0;font-size:.85rem;font-weight:bold;color:#34c759;line-height:1.5}
.ocr-msg:empty{display:none}
#ocrOverlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:#000;color:#fff;overflow:hidden;-webkit-user-select:none}
#ocrOverlay.on{display:block}
#ocrVideo{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;background:#000}
#ocrGuide{position:absolute;border:3px solid #fff;border-radius:14px;box-shadow:0 0 0 100vmax rgba(0,0,0,.55);pointer-events:none}
#ocrGuide i{position:absolute;display:block;border:1.5px dashed rgba(255,255,255,.55);border-radius:8px}
.ocr-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;font-weight:bold;z-index:2}
.ocr-top button{background:rgba(255,255,255,.2);color:#fff;border:none;border-radius:18px;padding:8px 14px;font-size:.95rem;font-weight:bold}
.ocr-bottom{position:absolute;left:0;right:0;bottom:0;padding:14px 16px calc(16px + env(safe-area-inset-bottom));text-align:center;z-index:2}
#ocrStatus{font-size:1.25rem;font-weight:bold}
#ocrSub{font-size:.8rem;opacity:.8;margin-top:6px;min-height:2.4em}
.ocr-seg{position:absolute;top:calc(58px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:2;display:flex;width:300px;padding:3px;border-radius:12px;background:rgba(60,60,67,.75)}
.ocr-seg button{flex:1;height:44px;border:0;border-radius:10px;background:transparent;color:#d1d1d6;font-size:1rem;font-weight:bold}
.ocr-seg button.on{background:#0a84ff;color:#fff}
