:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#57300d;background:#fffaf3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid #f39200;outline-offset:3px}[hidden]{display:none!important}.page{min-height:100dvh;display:grid;place-items:center;padding:20px}.center{display:flex;flex-direction:column;align-items:center;max-width:100%;gap:0}.scan{border:0;border-radius:18px;background:#f39200;color:#432500;display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 26px;font-size:clamp(17px,4vw,22px);font-weight:750;box-shadow:0 7px 20px #d9710038}.scan:hover{background:#f5a52e}.scan svg{height:29px;width:29px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}.language--selector{margin-top:40px;display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;max-width:min(100%,640px)}.language--selector button{background:transparent;cursor:pointer;padding:.25rem .5rem;border-radius:4px;border:1px solid transparent;white-space:nowrap;color:#aaa;font-size:14px}.language--selector button.isActive{border-color:#999;text-decoration:underline}.language--selector button:hover{color:#666}.overlay{position:fixed;inset:0;background:#0000008c;z-index:5;display:grid;place-items:center;padding:16px}.dialog{width:min(100%,480px);max-height:calc(100dvh - 32px);overflow-y:auto;background:#fff;border-radius:6px;box-shadow:0 12px 45px #0000004d}.dialog-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4e4e4;padding:12px 16px}.dialog-head h2{font-size:18px;font-weight:650;margin:0;color:#333}.close{border:0;background:transparent;color:#888;font-size:27px;width:36px;height:36px;line-height:1}.close:hover{color:#333}.dialog-body{padding:16px}.camera-frame{width:100%;aspect-ratio:1;max-height:56dvh;position:relative;background:#222;overflow:hidden;border-radius:4px}.camera-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.aim{position:absolute;inset:18%;border:3px solid #f39200;border-radius:12px;pointer-events:none}.status{text-align:center;margin:14px 0;color:#555;min-height:24px;font-weight:600}.actions{display:flex;gap:8px;justify-content:center}.actions button{min-height:44px;border-radius:5px;padding:10px 16px;font-weight:650}.secondary{background:#f7f7f7;color:#444;border:1px solid #ddd}.primary{background:#f39200;color:#432500;border:1px solid #f39200}@media(max-width:400px){.dialog-body{padding:12px}.language--selector{gap:.25rem}}
