.ocr-mode-panel{padding:clamp(18px,3vw,32px);border-top:1px solid #dbe2ea}.ocr-head,.ocr-submit-row,.ocr-toolbar,.ocr-page-nav,.ocr-transform-actions,.ocr-detail-actions{display:flex;align-items:center;gap:12px}.ocr-head{justify-content:space-between;align-items:flex-start;margin-bottom:20px}.ocr-head p{margin-top:10px;color:#94a3b8;font-weight:650}.ocr-private-badge{border:1px solid #a7f3d0;background:#ecfdf5;color:#047857;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.ocr-import-card{--ocr-card:#111827;--ocr-line:#334155;padding:22px;border:1px solid var(--ocr-line);border-radius:24px;background:var(--ocr-card);box-shadow:0 24px 70px #0206172e}.ocr-source-tabs{display:flex;gap:8px;margin-bottom:16px}.ocr-source-tab{border:1px solid #334155;border-radius:999px;padding:9px 15px;color:#94a3b8;font-weight:800}.ocr-source-tab.active{color:#fff;border-color:#fb7185;background:#9f1239}.ocr-dropzone{position:relative;min-height:230px;display:grid;place-items:center;align-content:center;gap:7px;border:2px dashed #475569;border-radius:22px;cursor:pointer;color:#e2e8f0;text-align:center;padding:24px;overflow:hidden;background:radial-gradient(circle at 50% 0%,rgba(99,102,241,.12),transparent 48%),#0f172a75;transition:border-color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease,min-height .25s ease}.ocr-dropzone:before{content:"";position:absolute;width:170px;height:170px;top:-110px;left:50%;translate:-50% 0;border-radius:50%;background:#7c3aed29;filter:blur(22px);pointer-events:none}.ocr-dropzone:hover,.ocr-dropzone.dragging{border-color:#8b5cf6;background:radial-gradient(circle at 50% 0%,rgba(139,92,246,.23),transparent 50%),#1e293bc2;box-shadow:inset 0 0 0 1px #a78bfa2e,0 18px 48px #4c1d9524;transform:translateY(-2px)}.ocr-dropzone.dragging{animation:ocr-drop-pulse .9s ease-in-out infinite alternate}.ocr-dropzone:focus-visible{outline:3px solid rgba(167,139,250,.72);outline-offset:4px}.ocr-dropzone input{position:absolute;width:1px;height:1px;opacity:0}.ocr-dropzone strong{position:relative;z-index:1;margin-top:3px;color:#f8fafc;font-size:17px;line-height:1.3}.ocr-dropzone span,#ocrUrlPane p{color:#94a3b8;font-size:13px}.ocr-dropzone .ocr-dropzone-art{position:relative;z-index:1;width:94px;height:74px;display:block;animation:ocr-folder-float 3.6s ease-in-out infinite;filter:drop-shadow(0 16px 17px rgba(79,70,229,.3))}.ocr-dropzone-art svg{width:100%;height:100%;overflow:visible}.ocr-dropzone .ocr-dropzone-copy{position:relative;z-index:1;font-size:14px}.ocr-browse-copy{color:#a78bfa!important;font:inherit!important;font-weight:900!important;text-decoration:underline;text-underline-offset:3px}.ocr-dropzone small{position:relative;z-index:1;margin-top:5px;color:#64748b;font-size:11px;font-weight:750;letter-spacing:.01em}.ocr-file-list{display:grid;gap:11px;margin-top:16px}.ocr-file-list:empty{display:none}.ocr-file-item{--file-accent:#8b5cf6;--file-soft:rgba(139,92,246,.14);--file-progress:0;display:grid;grid-template-columns:48px minmax(0,1fr) 36px 34px;align-items:center;gap:12px;min-height:82px;padding:12px 13px;border:1px solid rgba(71,85,105,.72);border-radius:17px;background:linear-gradient(135deg,#1e293be0,#0f172aeb);box-shadow:0 10px 28px #02061729;animation:ocr-file-enter .38s cubic-bezier(.16,1,.3,1) both;transition:border-color .2s ease,background .2s ease,transform .2s ease,opacity .2s ease}.ocr-file-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--file-accent) 55%,#475569)}.ocr-file-item.tone-red{--file-accent:#f43f5e;--file-soft:rgba(244,63,94,.15)}.ocr-file-item.tone-blue{--file-accent:#3b82f6;--file-soft:rgba(59,130,246,.15)}.ocr-file-item.tone-green{--file-accent:#10b981;--file-soft:rgba(16,185,129,.15)}.ocr-file-item.tone-orange{--file-accent:#f59e0b;--file-soft:rgba(245,158,11,.15)}.ocr-file-item.tone-cyan{--file-accent:#06b6d4;--file-soft:rgba(6,182,212,.15)}.ocr-file-item.error{--file-accent:#ef4444;--file-soft:rgba(239,68,68,.13);border-color:#ef44447a}.ocr-file-item.success{--file-accent:#10b981;--file-soft:rgba(16,185,129,.13);border-color:#10b9816b}.ocr-file-item.removing{animation:ocr-file-remove .24s ease forwards;pointer-events:none}.ocr-file-icon{width:48px;height:56px;display:grid;place-items:center;color:var(--file-accent);filter:drop-shadow(0 8px 12px rgba(2,6,23,.18))}.ocr-file-type-svg{width:43px;height:51px;overflow:visible}.ocr-file-sheet{fill:var(--file-soft);stroke:var(--file-accent);stroke-width:1.5}.ocr-file-fold{fill:none;stroke:var(--file-accent);stroke-width:1.5;stroke-linejoin:round}.ocr-file-label-bg{fill:var(--file-accent)}.ocr-file-label{fill:#fff;font-size:8px;font-weight:950;font-family:Inter,Segoe UI,sans-serif;letter-spacing:.02em}.ocr-file-body{min-width:0;display:grid;gap:7px}.ocr-file-head,.ocr-file-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.ocr-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f8fafc;font-size:13px;font-weight:900}.ocr-file-percent{color:var(--file-accent);font-size:12px;font-variant-numeric:tabular-nums;font-weight:950}.ocr-file-meta{justify-content:flex-start;color:#64748b;font-size:11px;font-weight:750}.ocr-file-message{max-width:min(62%,380px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#94a3b8}.ocr-file-meta>span:last-child:before{content:"·";margin-right:8px;color:#475569}.ocr-file-progress{display:block;height:5px;overflow:hidden;border-radius:999px;background:#0b1220;box-shadow:inset 0 1px 2px #0206177a}.ocr-file-progress>span{display:block;width:calc(var(--file-progress) * 1%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--file-accent),color-mix(in srgb,var(--file-accent) 66%,white));box-shadow:0 0 13px var(--file-soft);transition:width .28s cubic-bezier(.4,0,.2,1)}.ocr-file-item.uploading .ocr-file-progress>span{position:relative;overflow:hidden}.ocr-file-item.uploading .ocr-file-progress>span:after{content:"";position:absolute;inset:0;translate:-100% 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.68),transparent);animation:ocr-progress-shimmer 1.35s ease-in-out infinite}.ocr-file-status{width:34px;height:34px;display:grid;place-items:center}.ocr-file-status-svg{width:29px;height:29px;overflow:visible}.ocr-file-status-svg circle,.ocr-file-status-svg path{fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.ocr-file-status-svg.ready{color:#64748b}.ocr-file-status-svg.uploading{color:var(--file-accent);transform:rotate(-90deg)}.ocr-file-status-svg.uploading .track{color:#334155;stroke:currentColor}.ocr-file-status-svg.uploading .value{stroke:currentColor;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--file-progress));transition:stroke-dashoffset .28s ease}.ocr-file-status-svg.success{color:#10b981;animation:ocr-status-pop .38s cubic-bezier(.16,1.4,.3,1)}.ocr-file-status-svg.success circle{fill:#10b9811a}.ocr-file-status-svg.success path{stroke-dasharray:22;animation:ocr-check-draw .42s ease .08s both}.ocr-file-status-svg.error{color:#ef4444;animation:ocr-status-pop .38s cubic-bezier(.16,1.4,.3,1)}.ocr-file-action{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:10px;color:#64748b;background:transparent;cursor:pointer;transition:color .18s ease,background .18s ease,transform .18s ease}.ocr-file-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ocr-file-action:hover{color:#f8fafc;background:#94a3b821;transform:scale(1.06)}.ocr-file-item.error .ocr-file-action{color:#f87171}.ocr-file-action:disabled{opacity:.32;cursor:not-allowed;transform:none}@keyframes ocr-folder-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}@keyframes ocr-drop-pulse{to{box-shadow:inset 0 0 0 1px #a78bfa57,0 20px 54px #6d28d942}}@keyframes ocr-file-enter{0%{opacity:0;transform:translateY(-10px) scale(.985)}to{opacity:1;transform:none}}@keyframes ocr-file-remove{to{opacity:0;transform:translate(20px) scale(.97);max-height:0;padding-block:0;margin:0}}@keyframes ocr-progress-shimmer{to{translate:160% 0}}@keyframes ocr-status-pop{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes ocr-check-draw{0%{stroke-dashoffset:22}to{stroke-dashoffset:0}}#ocrUrlPane label,.ocr-options label{color:#cbd5e1;font-size:12px;font-weight:850}#ocrUrlPane input,.ocr-options select{width:100%;margin-top:6px;border:1px solid #475569;border-radius:12px;background:#0f172a;color:#fff;padding:12px}.ocr-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.ocr-form-error{margin-top:14px;border-radius:12px;background:#450a0a;color:#fecaca;padding:12px;font-weight:750}.ocr-submit-row{margin-top:16px;justify-content:flex-end}.ocr-progress{margin:18px 0;border:1px solid #334155;border-radius:16px;padding:14px;display:flex;align-items:center;gap:14px;background:#0f172a;color:#fff}.ocr-progress span{display:block;color:#94a3b8;font-size:12px;margin-top:3px}.ocr-spinner{width:24px;height:24px;border:3px solid #475569;border-top-color:#fb7185;border-radius:50%;animation:ocr-spin .8s linear infinite}@keyframes ocr-spin{to{transform:rotate(360deg)}}.ocr-result{margin-top:20px}.ocr-toolbar{justify-content:space-between;flex-wrap:wrap;margin-bottom:14px;color:#cbd5e1}.ocr-toolbar label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800}.ocr-result-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:16px}.ocr-stage-scroll{min-height:420px;overflow:auto;border-radius:18px;background:#020617;padding:18px}.ocr-stage{min-width:320px;display:grid;place-items:center}.ocr-canvas{position:relative;width:min(100%,1000px);transform-origin:center;transition:transform .2s ease;box-shadow:0 24px 70px #0008}.ocr-page-image{display:block;width:100%;height:100%;object-fit:contain}.ocr-overlay-layer{position:absolute;inset:0;pointer-events:none}.ocr-region{position:absolute;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid #fecdd3;border-radius:4px;padding:2px 4px;background:rgb(15 23 42 / var(--ocr-overlay-opacity,.92));color:#fff;font-weight:800;line-height:1.08;text-align:center;pointer-events:auto;cursor:pointer;text-shadow:0 1px 2px #000}.ocr-region:hover,.ocr-region.selected{outline:3px solid #fbbf24;z-index:3}.ocr-region-details{min-height:220px;border:1px solid #334155;border-radius:18px;background:#111827;padding:18px;color:#cbd5e1}.ocr-detail-original{color:#94a3b8;font-weight:700}.ocr-detail-translation{margin:12px 0;color:#fff;font-size:20px;font-weight:900}.ocr-confidence{display:inline-block;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900}.ocr-confidence.good{background:#064e3b;color:#a7f3d0}.ocr-confidence.warn{background:#78350f;color:#fde68a}.ocr-confidence.bad{background:#7f1d1d;color:#fecaca}.ocr-detail-warning{margin-top:10px;color:#fbbf24;font-size:12px}.ocr-detail-actions{margin-top:18px;flex-wrap:wrap}.ocr-accessible-list{margin-top:14px;border:1px solid #334155;border-radius:16px;padding:14px;color:#cbd5e1}.ocr-accessible-list summary{cursor:pointer;font-weight:850}#ocrRegionList{display:grid;gap:8px;margin-top:12px}.ocr-region-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;border:1px solid #334155;border-radius:12px;padding:11px;text-align:left}.ocr-region-source{color:#94a3b8}.ocr-region-target{color:#fff;font-weight:800}body:not(.night-mode) .ocr-import-card,body:not(.night-mode) .ocr-progress,body:not(.night-mode) .ocr-region-details{background:#fff;border-color:#e2e8f0;color:#334155}body:not(.night-mode) .ocr-dropzone{border-color:#cbd5e1;color:#334155;background:radial-gradient(circle at 50% 0%,rgba(124,58,237,.09),transparent 48%),#f8fafc}body:not(.night-mode) .ocr-dropzone:hover,body:not(.night-mode) .ocr-dropzone.dragging{border-color:#8b5cf6;background:radial-gradient(circle at 50% 0%,rgba(124,58,237,.15),transparent 48%),#fafafa}body:not(.night-mode) .ocr-dropzone strong{color:#172033}body:not(.night-mode) .ocr-file-item{border-color:#e2e8f0;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 10px 28px #0f172a12}body:not(.night-mode) .ocr-file-name{color:#172033}body:not(.night-mode) .ocr-file-progress{background:#e2e8f0;box-shadow:inset 0 1px 2px #0f172a14}body:not(.night-mode) .ocr-file-action:hover{color:#172033;background:#eef2ff}body:not(.night-mode) #ocrUrlPane label,body:not(.night-mode) .ocr-options label,body:not(.night-mode) .ocr-toolbar{color:#475569}body:not(.night-mode) #ocrUrlPane input,body:not(.night-mode) .ocr-options select{background:#fff;border-color:#cbd5e1;color:#0f172a}body:not(.night-mode) .ocr-detail-translation,body:not(.night-mode) .ocr-region-target{color:#0f172a}@media(max-width:820px){.ocr-head{flex-direction:column}.ocr-import-card{padding:15px;border-radius:20px}.ocr-dropzone{min-height:208px;padding:20px 12px}.ocr-dropzone .ocr-dropzone-art{width:82px;height:65px}.ocr-options,.ocr-result-grid{grid-template-columns:1fr}.ocr-toolbar{align-items:flex-start}.ocr-stage-scroll{min-height:320px;padding:8px}.ocr-file-item{grid-template-columns:42px minmax(0,1fr) 30px;gap:9px;padding:11px 10px}.ocr-file-icon{width:42px}.ocr-file-action{grid-column:3;grid-row:1}.ocr-file-status{grid-column:3;grid-row:1;opacity:0;pointer-events:none}.ocr-file-item.uploading .ocr-file-action,.ocr-file-item.success .ocr-file-action{opacity:0;pointer-events:none}.ocr-file-item.uploading .ocr-file-status,.ocr-file-item.success .ocr-file-status{opacity:1}.ocr-file-message{max-width:62%}}@media(prefers-reduced-motion:reduce){.ocr-dropzone,.ocr-dropzone-art,.ocr-file-item,.ocr-file-progress>span,.ocr-file-status-svg,.ocr-file-status-svg path{animation:none!important;transition:none!important}}
