:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@media (max-width: 600px){#app{padding:0;width:100vw;text-align:center}}/*!
 * Cropper.js v1.5.13
 * https://fengyuanchen.github.io/cropperjs
 *
 * Copyright 2015-present Chen Fengyuan
 * Released under the MIT license
 *
 * Date: 2022-11-20T05:30:43.444Z
 */.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;touch-action:none;user-select:none}.cropper-container img{display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-wrap-box,.cropper-canvas,.cropper-drag-box,.cropper-crop-box,.cropper-modal{inset:0;position:absolute}.cropper-wrap-box,.cropper-canvas{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:calc(100% / 3);left:0;top:calc(100% / 3);width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:calc(100% / 3);top:0;width:calc(100% / 3)}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:before,.cropper-center:after{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width: 768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width: 992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width: 1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.id-scanner-container[data-v-7c4d2b21]{display:flex;flex-direction:column;align-items:center;padding:1.25rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;max-width:800px;width:100%;min-height:100vh;box-sizing:border-box;margin:0 auto;background-color:#f9f9f9;border-radius:8px;box-shadow:0 4px 12px #00000014;color:#333;line-height:1.5}h1[data-v-7c4d2b21],.section-title[data-v-7c4d2b21]{color:#1a73e8;margin-bottom:1rem;text-align:center;width:100%}h1[data-v-7c4d2b21]{font-size:1.75rem;font-weight:600;margin-top:.5rem;margin-bottom:1.5rem}.section-title[data-v-7c4d2b21]{font-size:1.25rem;font-weight:500;margin-bottom:1rem;position:relative}.section-title[data-v-7c4d2b21]:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:50px;height:2px;background-color:#1a73e8;border-radius:1px}.camera-section[data-v-7c4d2b21],.preview-section[data-v-7c4d2b21],.canvas-section[data-v-7c4d2b21]{width:100%;margin-bottom:1.5rem;padding:1.25rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 6px #0000000f;transition:box-shadow .3s ease}.camera-section[data-v-7c4d2b21]:hover,.preview-section[data-v-7c4d2b21]:hover,.canvas-section[data-v-7c4d2b21]:hover{box-shadow:0 4px 8px #00000017}.camera-section[data-v-7c4d2b21]{display:flex;flex-direction:column;align-items:center}.toggle-camera-button[data-v-7c4d2b21]{margin-bottom:1rem;min-width:160px}.video-wrapper[data-v-7c4d2b21]{width:100%;max-width:600px;aspect-ratio:85.6 / 54;margin-bottom:1rem;position:relative;background-color:#f0f0f0;display:flex;justify-content:center;align-items:center;overflow:hidden;border-radius:6px;border:1px solid #e0e0e0}.overlay-canvas[data-v-7c4d2b21]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.detection-status[data-v-7c4d2b21]{position:absolute;bottom:10px;left:0;right:0;text-align:center;background-color:#000000b3;color:#fff;padding:8px;font-size:.875rem;z-index:20;border-radius:0 0 6px 6px;font-weight:500;backdrop-filter:blur(2px)}.video-feed[data-v-7c4d2b21]{display:block;height:100%;width:100%;object-fit:cover}.video-placeholder[data-v-7c4d2b21]{width:100%;max-width:600px;aspect-ratio:85.6 / 54;background-color:#f5f5f5;color:#757575;display:flex;justify-content:center;align-items:center;text-align:center;border:1px dashed #ccc;margin-bottom:1rem;padding:1rem;box-sizing:border-box;border-radius:6px;font-size:.9375rem}.capture-buttons[data-v-7c4d2b21]{display:flex;justify-content:center;flex-wrap:wrap;gap:.625rem;width:100%;max-width:600px}.capture-buttons button[data-v-7c4d2b21]{margin:0;flex:1;min-width:120px}.capture-buttons button.active[data-v-7c4d2b21]{background-color:#28a745;box-shadow:0 2px 4px #28a74540}.image-previews[data-v-7c4d2b21]{display:flex;justify-content:space-around;gap:1rem;flex-wrap:wrap;align-items:flex-start}.preview-item[data-v-7c4d2b21]{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;max-width:160px;transition:transform .2s ease}.preview-item[data-v-7c4d2b21]:hover{transform:translateY(-2px)}.preview-box[data-v-7c4d2b21]{width:100%;aspect-ratio:1.585;border:1px dashed #ccc;display:flex;justify-content:center;align-items:center;overflow:hidden;background-color:#f5f5f5;border-radius:6px;transition:border-color .3s ease}.preview-box[data-v-7c4d2b21]:hover{border-color:#1a73e8}.preview-box img[data-v-7c4d2b21]{max-width:100%;max-height:100%;object-fit:contain}.placeholder[data-v-7c4d2b21]{color:#9e9e9e;font-size:.875rem}.recrop-button[data-v-7c4d2b21]{padding:.375rem .75rem;font-size:.8125rem;background-color:#6c757d;border-radius:4px;width:100%}.recrop-button[data-v-7c4d2b21]:hover:not(:disabled){background-color:#5a6268}.a4-canvas[data-v-7c4d2b21]{width:100%;max-width:595px;height:auto;aspect-ratio:1 / 1.414;border:1px solid #e0e0e0;background-color:#fff;box-shadow:0 2px 8px #0000001a;border-radius:4px}.custom-cropper-modal[data-v-7c4d2b21]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000;display:flex;justify-content:center;align-items:center;z-index:1000}.cropper-content[data-v-7c4d2b21]{background-color:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 5px 20px #00000059;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;color:#333;width:100%;position:relative;z-index:1010}.cropper-image-container[data-v-7c4d2b21]{flex-grow:1;overflow:hidden;margin-bottom:1rem;max-height:calc(80vh - 150px);background-color:#f8f8f8;border:1px solid #e0e0e0;border-radius:4px}.cropper-image-container img[data-v-7c4d2b21]{display:block;max-width:100%}.cropper-actions[data-v-7c4d2b21]{display:flex;justify-content:center;gap:1rem}.confirm-crop-button[data-v-7c4d2b21]{background-color:#28a745;flex:1;font-weight:600;padding:.625rem 1rem}.confirm-crop-button[data-v-7c4d2b21]:hover:not(:disabled){background-color:#218838}.cancel-crop-button[data-v-7c4d2b21]{background-color:#dc3545;flex:1}.cancel-crop-button[data-v-7c4d2b21]:hover:not(:disabled){background-color:#c82333}button[data-v-7c4d2b21]{cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;color:#fff;background-color:#1a73e8;transition:all .3s ease;font-size:.9375rem;font-weight:500;min-height:40px}button[data-v-7c4d2b21]:hover:not(:disabled){background-color:#1765cc;box-shadow:0 2px 4px #0003}button[data-v-7c4d2b21]:disabled{background-color:#e0e0e0;color:#9e9e9e;cursor:not-allowed;box-shadow:none}.generate-button[data-v-7c4d2b21]{margin-top:1.25rem;background-color:#28a745;padding:.625rem 1.5rem;font-size:1rem;min-width:200px;box-shadow:0 2px 5px #28a7454d}.generate-button[data-v-7c4d2b21]:hover:not(:disabled){background-color:#218838;box-shadow:0 4px 8px #28a74566;transform:translateY(-1px)}.modal-fade-enter-active[data-v-7c4d2b21],.modal-fade-leave-active[data-v-7c4d2b21]{transition:opacity .2s ease}.modal-fade-enter-from[data-v-7c4d2b21],.modal-fade-leave-to[data-v-7c4d2b21]{opacity:0}.cropper-tip[data-v-7c4d2b21]{color:#666;font-size:.875rem;margin-bottom:1rem;text-align:center}@media (max-width: 600px){.id-scanner-container[data-v-7c4d2b21]{padding:.75rem;border-radius:0;box-shadow:none;background-color:#fff}h1[data-v-7c4d2b21]{font-size:1.5rem;margin-bottom:1.25rem}.section-title[data-v-7c4d2b21]{font-size:1.125rem;margin-bottom:.875rem}.camera-section[data-v-7c4d2b21],.preview-section[data-v-7c4d2b21],.canvas-section[data-v-7c4d2b21]{padding:.75rem;margin-bottom:1rem;border-radius:6px;box-shadow:0 1px 3px #00000014}.video-wrapper[data-v-7c4d2b21],.video-placeholder[data-v-7c4d2b21]{max-width:100%;margin-bottom:.75rem}.toggle-camera-button[data-v-7c4d2b21]{width:100%;margin:0 auto .75rem}.capture-buttons[data-v-7c4d2b21]{flex-direction:column;width:100%}.capture-buttons button[data-v-7c4d2b21]{width:100%;margin-bottom:.5rem;flex:none}.image-previews[data-v-7c4d2b21]{flex-direction:row;justify-content:space-between;gap:.625rem}.preview-item[data-v-7c4d2b21]{max-width:48%}.preview-box[data-v-7c4d2b21]{width:100%}.recrop-button[data-v-7c4d2b21]{width:100%;font-size:.75rem;padding:.375rem .5rem}.cropper-content[data-v-7c4d2b21]{padding:1rem;max-width:95vw;max-height:95vh}.cropper-image-container[data-v-7c4d2b21]{max-height:calc(85vh - 120px)}.cropper-actions[data-v-7c4d2b21]{flex-direction:column;gap:.625rem}.cropper-actions button[data-v-7c4d2b21]{width:100%}button[data-v-7c4d2b21]{padding:.625rem .875rem;font-size:.9375rem}.generate-button[data-v-7c4d2b21]{width:100%;margin:1rem auto .625rem;min-width:0}}@media (prefers-color-scheme: dark){.id-scanner-container[data-v-7c4d2b21]{background-color:#121212;color:#e0e0e0}h1[data-v-7c4d2b21],.section-title[data-v-7c4d2b21]{color:#8ab4f8}.section-title[data-v-7c4d2b21]:after{background-color:#8ab4f8}.camera-section[data-v-7c4d2b21],.preview-section[data-v-7c4d2b21],.canvas-section[data-v-7c4d2b21]{background-color:#1e1e1e;box-shadow:0 2px 6px #0003}.video-placeholder[data-v-7c4d2b21],.preview-box[data-v-7c4d2b21]{background-color:#2d2d2d;border-color:#444;color:#aaa}.placeholder[data-v-7c4d2b21]{color:#888}.a4-canvas[data-v-7c4d2b21]{border-color:#444;box-shadow:0 2px 8px #0000004d}.cropper-content[data-v-7c4d2b21]{background-color:#1e1e1e;color:#e0e0e0;box-shadow:0 5px 20px #00000080}button[data-v-7c4d2b21]:disabled{background-color:#333;color:#777}.cropper-tip[data-v-7c4d2b21]{color:#aaa}@media (max-width: 600px){.id-scanner-container[data-v-7c4d2b21]{background-color:#121212}}.custom-cropper-modal[data-v-7c4d2b21]{background-color:#000}.cropper-image-container[data-v-7c4d2b21]{background-color:#2d2d2d;border-color:#444}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:#f5f5f5;color:#333;line-height:1.6}.app-container{display:flex;flex-direction:column;min-height:100vh}.app-header{background-color:#1a73e8;color:#fff;padding:1rem;box-shadow:0 2px 4px #0000001a}.logo-container{display:flex;align-items:center;justify-content:center;gap:.75rem}.app-logo{width:2.5rem;height:2.5rem}.app-title{font-size:1.5rem;font-weight:600}.app-content{flex:1;display:flex;justify-content:center;padding:1rem 0}.app-footer{background-color:#f0f0f0;color:#666;text-align:center;padding:1rem;font-size:.875rem;margin-top:auto;border-top:1px solid #e0e0e0}.app-footer a{color:#1a73e8;text-decoration:none}.app-footer a:hover{text-decoration:underline}.privacy-note{margin-top:.5rem;font-size:.8125rem;color:#888}@media (prefers-color-scheme: dark){body{background-color:#121212;color:#e0e0e0}.app-header{background-color:#1a73e8}.app-footer{background-color:#1e1e1e;color:#aaa;border-top-color:#333}.app-footer a{color:#8ab4f8}.privacy-note{color:#777}}@media (max-width: 600px){.app-header{padding:.75rem}.app-logo{width:2rem;height:2rem}.app-title{font-size:1.25rem}}
