body.scanner{overflow:hidden}.sc-main{flex:1 1 auto;min-height:0;position:relative;overflow:auto;background:#0b0d11}.sc-sel{display:flex;align-items:center;gap:6px}.sc-cta{display:flex;gap:10px;justify-content:center;margin:14px 0 6px;flex-wrap:wrap}.sc-cta .btn{padding:11px 18px;font-size:15px}body.scanner .empty{pointer-events:auto;overflow:auto;place-items:start center;padding-top:34px}body.scanner .empty .inner{max-width:640px}body.scanner .empty.off{display:none}.editor-wrap{display:flex;flex-direction:column;min-height:100%}.editor-wrap[hidden]{display:none}.panels{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px;flex:1}@media (max-width:860px){.panels{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px;min-width:0}.panel h3{margin:0 0 10px;font-size:13px;color:var(--muted);font-weight:600}.panel .row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;align-items:center}.resultbox{display:flex;justify-content:center;background:#06070a;border-radius:8px;overflow:hidden}.cropbox{position:relative;width:fit-content;max-width:100%;margin:0 auto}.cropbox canvas,.resultbox canvas{display:block;max-width:100%;max-height:58vh;width:auto;height:auto}#cropSvg{position:absolute;inset:0;width:100%;height:100%}#cropSvg polygon{fill:#4f8cff29;stroke:#4f8cff;stroke-width:2;vector-effect:non-scaling-stroke}#cropSvg{pointer-events:none}#cropHandles{position:absolute;inset:0;pointer-events:none}#cropHandles .h{position:absolute;width:60px;height:60px;margin:-30px 0 0 -30px;touch-action:none;pointer-events:auto;cursor:grab;border-radius:50%}#cropHandles .h:before{content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;box-sizing:border-box;border:2.5px solid #fff;border-radius:50%;background:#ffffff40;box-shadow:0 0 0 1px #00000073}#cropHandles .h:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;background:#4f8cff;border-radius:50%}#cropHandles .h.drag:before{background:#4f8cff80}#loupe{position:absolute;width:120px;height:120px;border-radius:50%;border:3px solid #fff;box-shadow:0 4px 18px #0009;pointer-events:none;z-index:5;background:#000}#loupe[hidden]{display:none}.filters .btn.on{background:#508cff38;border-color:var(--accent)}.sliders{gap:18px}.sliders label{display:flex;align-items:center;gap:8px}.sliders input{width:130px}.strip{display:flex;gap:10px;padding:10px 14px 16px;overflow-x:auto;border-top:1px solid var(--line);background:var(--panel);flex:0 0 auto}.strip .th{position:relative;flex:0 0 auto;width:92px;border:2px solid transparent;border-radius:8px;background:#06070a;cursor:pointer;padding:3px}.strip .th.on{border-color:var(--accent)}.strip .th canvas{display:block;width:100%;height:112px;object-fit:contain}.strip .th .n{position:absolute;left:6px;top:6px;background:#000000a6;color:#fff;font-size:11px;padding:1px 6px;border-radius:6px}.strip .th .mv{display:flex;justify-content:space-between;margin-top:3px}.strip .th .mv button{background:none;border:none;color:var(--muted);padding:2px 6px;font-size:13px}.strip .th .mv button:hover{color:var(--text)}.strip .th .mv button:disabled{opacity:.25;cursor:default}.camera{position:fixed;inset:0;background:#000;z-index:90;display:flex;flex-direction:column}.camera[hidden]{display:none}.camera video{flex:1;min-height:0;width:100%;object-fit:contain;background:#000}.cam-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px calc(14px + env(safe-area-inset-bottom));background:#000000d9}.cam-count{color:#fff;font-size:13px;min-width:70px;text-align:right}.shutter{width:68px;height:68px;border-radius:50%;background:#fff;border:5px solid #888;cursor:pointer}.shutter:active{background:#ddd}.cam-hint{position:absolute;left:0;right:0;top:10px;text-align:center;color:#ddd;font-size:12.5px;margin:0 auto;max-width:420px;padding:0 14px;text-shadow:0 1px 3px #000}.cam-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;transition:opacity .25s}.cam-flash.on{opacity:.8;transition:none}@media (max-width:760px){#btnDownload,#btnCamera{padding:9px 14px;font-size:14px}#btnDownload .btn-label,#btnCamera .btn-label{display:inline}}@media (max-width:860px){.cropbox canvas{max-height:none}}
