From b33d1c30dd0602122a8297ee8ec0eb2dd78cdaf5 Mon Sep 17 00:00:00 2001 From: George Raptis Date: Thu, 12 Sep 2024 10:20:49 +0300 Subject: [PATCH] Updates --- index.8d5422dc.css | 2 -- index.8d5422dc.css.map | 1 - index.aabcad04.css | 2 ++ index.aabcad04.css.map | 1 + index.html | 2 +- service-worker.js | 2 +- service-worker.js.map | 2 +- 7 files changed, 6 insertions(+), 6 deletions(-) delete mode 100644 index.8d5422dc.css delete mode 100644 index.8d5422dc.css.map create mode 100644 index.aabcad04.css create mode 100644 index.aabcad04.css.map diff --git a/index.8d5422dc.css b/index.8d5422dc.css deleted file mode 100644 index 5ed503d..0000000 --- a/index.8d5422dc.css +++ /dev/null @@ -1,2 +0,0 @@ -:root{--font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue","Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;--accent-h:217.75deg;--accent-s:98.36%;--accent-l:52.16%;--accent:hsl(var(--accent-h),var(--accent-s),var(--accent-l));--background-body:#fff;--background-alt:#f7f7f7;--background:#efefef;--text-main:#363636;--text-muted:#70777f;--links:var(--accent);--focus:var(--accent);--border:#b9b8b8;--error-color:#dc3545;--success-color:#28a745;--dialog-background:#fff;--scan-frame-color:#ffffffe6;--dropzone-background:var(--background-alt);--dropzone-background-dragover:var(--background);--dropzone-background-hover:var(--background);--empty-history-button-color:#fff;--body-max-width:75rem;--border-radius:6px;--animation-duration:.1s;--container-max-width:37.5rem;--capture-border-width:3px;--video-border-radius:calc(var(--border-radius)/2);--track-control-button-dimensions:2.25rem;accent-color:var(--accent)}@media (prefers-color-scheme:dark){:root{--accent-h:206;--accent-s:100%;--accent-l:73%;--background-body:#212529;--background-alt:#343a40;--background:var(--background-alt);--text-main:#dbdbdb;--text-muted:#a9b1ba;--links:var(--accent);--focus:var(--accent);--border:#495057;--error-color:#ff808d;--success-color:#75b798;--dialog-background:var(--background-alt);--dropzone-background:#1a1c1e;--dropzone-background-dragover:#161718;--dropzone-background-hover:#161718;--empty-history-button-color:#000}}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-family);max-width:var(--body-max-width);word-wrap:break-word;color:var(--text-main);background:var(--background-body);text-rendering:optimizelegibility;margin:1.25rem auto;padding:0 .75rem;line-height:1.4}body:has(.popover-dialog[open]){overflow-y:hidden}[hidden]{display:none!important}a{color:var(--links);text-decoration:none}a:hover{text-decoration:underline}a>code,a>strong{color:inherit}a,button,input,custom-clipboard-copy::part(button){outline-color:var(--accent)}button{color:var(--text-main);font-family:inherit;font-size:inherit;border-radius:var(--border-radius);border:none;padding:.625rem}button:not(:disabled){cursor:pointer}input[type=checkbox]{width:1rem;min-width:1rem;height:1rem}input[type=checkbox]:not(:disabled){cursor:pointer}kbd{background:var(--background);border:1px solid var(--border);color:var(--text-main);border-radius:2px;padding:.125rem .25rem}img,video{max-width:100%;height:auto}hr{border:none;border-top:1px solid var(--border)}h1{margin:.75rem 0;font-size:1.6rem;font-weight:300}dialog{background-color:var(--dialog-background);color:var(--text-main);border-radius:var(--border-radius);border:none;border-color:var(--border);padding:10px 30px}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000009c}.noscript{text-align:center;color:#842029;background-color:#f8d7da;width:100%;padding:.5rem 1rem;font-size:.9rem;display:block;position:fixed;top:0;left:0}.site-header{text-align:center;flex-direction:column;justify-content:center;align-items:center;margin:2rem 0;display:flex}.container{max-width:var(--container-max-width);margin:0 auto}.alert{justify-content:space-between;align-items:center;margin:0 0 1rem;padding:.5rem 1rem;font-size:.95rem;display:flex}.alert button{z-index:2;color:inherit;background-color:#0000;width:35px;min-width:35px;margin:0;padding:.15rem;font-size:1.2rem;line-height:1}.alert-danger{color:#842029;background-color:#f8d7da;border:1px solid #f5c2c7;border-radius:.25rem}.source-code{align-items:center;gap:.375rem;display:inline-flex}.scan-button{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-family);text-wrap:balance;outline-offset:-2px;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;height:100%;margin:0;padding:.5rem;font-size:.9375rem;line-height:1.5;display:flex;position:absolute;top:0;left:0;background-color:#000000b3!important}.scan-button kbd{font-size:.8rem}.results{border:1px solid var(--focus);background-color:var(--background-alt);border-radius:6px;width:100%;margin:1.5rem 0 0;padding:1rem;position:relative}.results__item{text-align:center;word-wrap:break-word;word-break:break-word;flex-direction:column;justify-content:center;display:flex}.results__item--no-barcode{color:var(--error-color)}.results__actions{justify-content:center;align-items:center;gap:.75rem;display:flex}.results web-share button,.results custom-clipboard-copy::part(button){border-radius:var(--border-radius);color:inherit;cursor:pointer;background-color:#0000;border:0;justify-content:center;align-items:center;gap:.25rem;margin:.75rem 0 0;padding:.25rem;font-family:inherit;font-size:.9rem;line-height:1;display:flex}.scan-instructions{text-align:center;text-wrap:balance;font-size:.95rem}.scan-frame-container{max-width:var(--container-max-width);margin:0 auto;position:relative}.scan-frame-container:has(capture-photo[loading]) .scan-frame{display:none}.scan-frame{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.9)}.scan-frame svg{width:100%;height:100%;position:absolute;top:0;left:0}select[name=scanMethod]{width:100%;margin:0 0 1.5rem}input[type=file]::-webkit-file-upload-button{color:var(--background);background-color:var(--accent);cursor:pointer;appearance:none;border:0;border-radius:.25rem;margin-right:.5rem;padding-inline:.5rem;line-height:1.6}input[type=file]:disabled::-webkit-file-upload-button{cursor:not-allowed}.dropzone{--dropzone-focus-box-shadow:inset 0 0 0 2px var(--focus);--dropzone-transition-duration:var(--animation-duration);--dropzone-border-color:var(--border);--dropzone-border-color-dragover:var(--accent);--dropzone-border-color-hover:var(--accent);--dropzone-background-color:var(--dropzone-background);--dropzone-background-color-dragover:var(--dropzone-background-dragover);--dropzone-background-color-hover:var(--dropzone-background-hover);--dropzone-body-color:var(--text-main)}.dropzone::part(dropzone){border-radius:var(--border-radius);flex-direction:column;justify-content:center;min-height:15.625rem;margin:0 auto;display:flex}.dropzone-preview{flex-direction:column;gap:.5rem;display:flex}.dropzone-preview__image-wrapper{max-width:200px;margin:0 auto}.dropzone-preview__file-name{color:var(--text-main);font-size:.9rem}.dropzone-instructions{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}body>footer{border-top:1px solid var(--border);color:var(--text-muted);text-align:center;margin-top:1.5rem;padding-top:10px}.supported-formats:empty{display:none}.supported-formats{max-width:var(--container-max-width);text-align:center;color:var(--text-muted);margin:1rem auto 0;padding:0 .75rem;font-size:.75rem}capture-photo{border:var(--capture-border-width)solid var(--border);border-radius:var(--border-radius);background-color:#000;justify-content:center;margin:0 auto 1.5rem;display:flex;position:relative;overflow:hidden}capture-photo::part(video){background-color:#000;width:100%}capture-photo[loading]::part(video){background-image:url(spinner-light.4452ed29.svg);background-position:50%;background-repeat:no-repeat;background-size:3.75rem}capture-photo::part(facing-mode-button){width:var(--track-control-button-dimensions);height:var(--track-control-button-dimensions);border-radius:var(--video-border-radius);background-color:var(--background);color:var(--text-main);cursor:pointer;appearance:none;border:0;justify-content:center;align-items:center;padding:0;font-size:1rem;transition:background-color .15s ease-in-out;display:flex;position:absolute;bottom:.25rem;left:.25rem}.zoom-controls{display:flex;position:absolute;bottom:.25rem;right:.25rem}.torch-button,.zoom-controls button,.zoom-controls label{width:var(--track-control-button-dimensions);height:var(--track-control-button-dimensions);background-color:var(--background);color:var(--text-main);border-radius:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.torch-button{bottom:.25rem;left:calc(var(--track-control-button-dimensions) + .5rem);border-radius:var(--video-border-radius);position:absolute}.zoom-controls button[data-action=zoom-in]{border-top-right-radius:var(--video-border-radius);border-bottom-right-radius:var(--video-border-radius)}.zoom-controls button[data-action=zoom-out]{border-top-left-radius:var(--video-border-radius);border-bottom-left-radius:var(--video-border-radius)}.zoom-controls label{width:1.5625rem;font-family:Arial,Helvetica,sans-serif;font-size:.9rem;overflow:hidden}.global-actions{justify-content:center;align-items:center;gap:.5rem;display:flex;position:absolute;top:8px;right:8px}.global-actions button{color:var(--text-main);justify-content:center;align-items:center;gap:.35rem;margin:0;padding:8px;font-size:.9rem;line-height:1;display:inline-flex;background-color:#0000!important}.global-actions button span{display:none}.popover-dialog>header:first-child{justify-content:space-between;align-items:center;margin:0;padding:.5rem .75rem;font-weight:500;display:flex}.popover-dialog>header:first-child button{color:var(--text-main);margin:0;padding:.25rem;line-height:1;background-color:#0000!important}.popover-dialog{margin:0;padding:0;position:absolute;top:1rem;left:auto;right:1rem}.popover-dialog :not(header){font-size:.9rem}.popover-dialog ul{margin:0;padding:0;list-style:none}.popover-dialog ul li{color:var(--text-main);border-bottom:1px solid var(--border);align-items:center;text-decoration:none;display:flex;position:relative}.popover-dialog ul li:last-child{border-bottom:0}@media (prefers-reduced-motion:no-preference){.popover-dialog::backdrop{opacity:0}.popover-dialog[open]::backdrop{opacity:1}.popover-dialog,.popover-dialog::backdrop{transition:transform .3s,opacity .3s,display .3s allow-discrete,overlay .3s allow-discrete}.popover-dialog[open]{opacity:1;transform:translateY(0)}.popover-dialog{opacity:0;transform:translateY(-16px)}@starting-style{.popover-dialog[open]{opacity:0;transform:translateY(-16px)}.popover-dialog[open]::backdrop{opacity:0}}}.popover-dialog--history ul{max-width:500px}.popover-dialog--history ul li{word-break:break-all;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .75rem}.history-modal__actions{gap:.25rem;display:flex}.history-modal__actions button,.history-modal__actions custom-clipboard-copy::part(button){border-radius:var(--border-radius);color:var(--text-main);cursor:pointer;border:0;justify-content:center;align-items:center;gap:.25rem;margin:0;padding:.25rem .5rem;font-size:1rem;line-height:1;display:flex;background-color:#0000!important}.history-modal__actions custom-clipboard-copy::part(button--success){color:var(--success-color)}.history-modal__actions .history-modal__delete-action{color:var(--error-color);margin-right:-.5rem}.popover-dialog--settings ul li input[type=checkbox]{margin:.15rem .5rem 0 0}.popover-dialog--settings ul li label{cursor:pointer;flex:1;margin:0;padding:.75rem;display:flex}.popover-dialog--settings fieldset{border:0;border-radius:0;margin:0;padding:0}.popover-dialog--settings fieldset legend{padding:.5rem .75rem 0;font-weight:500}.empty-history-button{color:var(--empty-history-button-color);width:calc(100% - 1.5rem);margin:.75rem 0 .75rem .75rem;background-color:var(--error-color)!important}a-tab-group:not(:defined){display:none}a-tab-group::part(tabs){border-radius:var(--border-radius);padding:0}a-tab{flex:1;display:flex}a-tab:first-of-type{border-start-start-radius:var(--border-radius);border-end-start-radius:var(--border-radius)}a-tab:last-of-type{border-start-end-radius:var(--border-radius);border-end-end-radius:var(--border-radius)}a-tab::part(base){background-color:var(--background);transition:background-color var(--animation-duration)ease-in-out,color var(--animation-duration)ease-in-out;flex:1;justify-content:center;padding:.5rem .75rem}a-tab:focus-visible{outline:.125rem solid var(--text-main);outline-offset:-.125rem}a-tab[selected]::part(base){background-color:var(--accent);color:var(--background-body)}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.text-underline{text-decoration:underline!important}@media (min-width:37.5rem){h1{font-size:2rem}.scan-instructions p{max-width:none}capture-photo{max-width:var(--container-max-width)}.global-actions button span{display:inline}}@media (min-height:43.75rem){header{margin:3rem 0}}@media screen and (max-width:20rem){a-tab span{font-size:.9rem}a-tab svg{display:none}} -/*# sourceMappingURL=index.8d5422dc.css.map */ diff --git a/index.8d5422dc.css.map b/index.8d5422dc.css.map deleted file mode 100644 index d93d243..0000000 --- a/index.8d5422dc.css.map +++ /dev/null @@ -1 +0,0 @@ -{"mappings":"ACAA,sgCAsCA,mCACE,odAsBF,uCAMA,yOAYA,kDAIA,gCAIA,0CAKA,kCAIA,8BAKA,+EAOA,mIASA,qCAIA,2DAMA,mDAIA,gIAQA,qCAMA,kDAKA,oDAMA,oKASA,kGAKA,2JAaA,0HASA,8DAKA,yHAUA,8IAYA,mGAOA,gEAMA,qZAwBA,iCAIA,4JAUA,sIASA,oDAIA,oFAQA,4TAkBA,wEAMA,2FAMA,2EAIA,2GAQA,sEAQA,qDAKA,yNAaA,yEAIA,ueAYA,0JASA,+DAMA,+DAKA,oEAKA,+GAQA,4HAQA,sCAIA,uJASA,wNAWA,4DAKA,kLAOA,ubAqBA,yEAOA,wSAeA,iJAOA,oJAKA,mJAKA,4GAOA,qHAUA,2MAcA,yCAIA,+IASA,wIAQA,mFASA,6CAIA,sDAMA,0JASA,iDAKA,8CACE,oCAIA,0CAIA,qIAMA,wDAMA,sDAMA,gBACE,4DAKA,4CAMJ,4CAIA,mIAQA,gDAKA,2UAiBA,gGAIA,mGAKA,6EAIA,iGAQA,+EAOA,iFAKA,oKAQA,uCAIA,qEAKA,0BAKA,gHAKA,2GAKA,oNAQA,mFAKA,wFAMA,uOAYA,oDAKA,2BACE,kBAIA,oCAIA,mDAIA,4CAKF,6BACE,sBAKF,oCACE,2BAIA","sources":["index.8d5422dc.css","src/css/main.css"],"sourcesContent":[":root {\n --font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Segoe UI Emoji\", \"Apple Color Emoji\", \"Noto Color Emoji\", sans-serif;\n --accent-h: 217.75deg;\n --accent-s: 98.36%;\n --accent-l: 52.16%;\n --accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));\n --background-body: #fff;\n --background-alt: #f7f7f7;\n --background: #efefef;\n --text-main: #363636;\n --text-muted: #70777f;\n --links: var(--accent);\n --focus: var(--accent);\n --border: #b9b8b8;\n --error-color: #dc3545;\n --success-color: #28a745;\n --dialog-background: #fff;\n --scan-frame-color: #ffffffe6;\n --dropzone-background: var(--background-alt);\n --dropzone-background-dragover: var(--background);\n --dropzone-background-hover: var(--background);\n --empty-history-button-color: #fff;\n --body-max-width: 75rem;\n --border-radius: 6px;\n --animation-duration: .1s;\n --container-max-width: 37.5rem;\n --capture-border-width: 3px;\n --video-border-radius: calc(var(--border-radius) / 2);\n --track-control-button-dimensions: 2.25rem;\n accent-color: var(--accent);\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n --accent-h: 206;\n --accent-s: 100%;\n --accent-l: 73%;\n --background-body: #212529;\n --background-alt: #343a40;\n --background: var(--background-alt);\n --text-main: #dbdbdb;\n --text-muted: #a9b1ba;\n --links: var(--accent);\n --focus: var(--accent);\n --border: #495057;\n --error-color: #ff808d;\n --success-color: #75b798;\n --dialog-background: var(--background-alt);\n --dropzone-background: #1a1c1e;\n --dropzone-background-dragover: #161718;\n --dropzone-background-hover: #161718;\n --empty-history-button-color: #000;\n }\n}\n\n*, :before, :after {\n box-sizing: border-box;\n}\n\nbody {\n font-family: var(--font-family);\n max-width: var(--body-max-width);\n word-wrap: break-word;\n color: var(--text-main);\n background: var(--background-body);\n text-rendering: optimizelegibility;\n margin: 1.25rem auto;\n padding: 0 .75rem;\n line-height: 1.4;\n}\n\nbody:has(.popover-dialog[open]) {\n overflow-y: hidden;\n}\n\n[hidden] {\n display: none !important;\n}\n\na {\n color: var(--links);\n text-decoration: none;\n}\n\na:hover {\n text-decoration: underline;\n}\n\na > code, a > strong {\n color: inherit;\n}\n\na, button, input, custom-clipboard-copy::part(button) {\n outline-color: var(--accent);\n}\n\nbutton {\n color: var(--text-main);\n font-family: inherit;\n font-size: inherit;\n border-radius: var(--border-radius);\n border: none;\n padding: .625rem;\n}\n\nbutton:not(:disabled) {\n cursor: pointer;\n}\n\ninput[type=\"checkbox\"] {\n width: 1rem;\n min-width: 1rem;\n height: 1rem;\n}\n\ninput[type=\"checkbox\"]:not(:disabled) {\n cursor: pointer;\n}\n\nkbd {\n background: var(--background);\n border: 1px solid var(--border);\n color: var(--text-main);\n border-radius: 2px;\n padding: .125rem .25rem;\n}\n\nimg, video {\n max-width: 100%;\n height: auto;\n}\n\nhr {\n border: none;\n border-top: 1px solid var(--border);\n}\n\nh1 {\n margin: .75rem 0;\n font-size: 1.6rem;\n font-weight: 300;\n}\n\ndialog {\n background-color: var(--dialog-background);\n color: var(--text-main);\n border-radius: var(--border-radius);\n border: none;\n border-color: var(--border);\n padding: 10px 30px;\n}\n\ndialog::backdrop {\n backdrop-filter: blur(4px);\n background: #0000009c;\n}\n\n.noscript {\n text-align: center;\n color: #842029;\n background-color: #f8d7da;\n width: 100%;\n padding: .5rem 1rem;\n font-size: .9rem;\n display: block;\n position: fixed;\n top: 0;\n left: 0;\n}\n\n.site-header {\n text-align: center;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin: 2rem 0;\n display: flex;\n}\n\n.container {\n max-width: var(--container-max-width);\n margin: 0 auto;\n}\n\n.alert {\n justify-content: space-between;\n align-items: center;\n margin: 0 0 1rem;\n padding: .5rem 1rem;\n font-size: .95rem;\n display: flex;\n}\n\n.alert button {\n z-index: 2;\n color: inherit;\n background-color: #0000;\n width: 35px;\n min-width: 35px;\n margin: 0;\n padding: .15rem;\n font-size: 1.2rem;\n line-height: 1;\n}\n\n.alert-danger {\n color: #842029;\n background-color: #f8d7da;\n border: 1px solid #f5c2c7;\n border-radius: .25rem;\n}\n\n.source-code {\n align-items: center;\n gap: .375rem;\n display: inline-flex;\n}\n\n.scan-button {\n color: #fff;\n backdrop-filter: blur(6px);\n font-family: var(--font-family);\n text-wrap: balance;\n outline-offset: -2px;\n border-radius: 0;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: .5rem;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: .5rem;\n font-size: .9375rem;\n line-height: 1.5;\n display: flex;\n position: absolute;\n top: 0;\n left: 0;\n background-color: #000000b3 !important;\n}\n\n.scan-button kbd {\n font-size: .8rem;\n}\n\n.results {\n border: 1px solid var(--focus);\n background-color: var(--background-alt);\n border-radius: 6px;\n width: 100%;\n margin: 1.5rem 0 0;\n padding: 1rem;\n position: relative;\n}\n\n.results__item {\n text-align: center;\n word-wrap: break-word;\n word-break: break-word;\n flex-direction: column;\n justify-content: center;\n display: flex;\n}\n\n.results__item--no-barcode {\n color: var(--error-color);\n}\n\n.results__actions {\n justify-content: center;\n align-items: center;\n gap: .75rem;\n display: flex;\n}\n\n.results web-share button, .results custom-clipboard-copy::part(button) {\n border-radius: var(--border-radius);\n color: inherit;\n cursor: pointer;\n background-color: #0000;\n border: 0;\n justify-content: center;\n align-items: center;\n gap: .25rem;\n margin: .75rem 0 0;\n padding: .25rem;\n font-family: inherit;\n font-size: .9rem;\n line-height: 1;\n display: flex;\n}\n\n.scan-instructions {\n text-align: center;\n text-wrap: balance;\n font-size: .95rem;\n}\n\n.scan-frame-container {\n max-width: var(--container-max-width);\n margin: 0 auto;\n position: relative;\n}\n\n.scan-frame-container:has(capture-photo[loading]) .scan-frame {\n display: none;\n}\n\n.scan-frame {\n pointer-events: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%)scale(.9);\n}\n\n.scan-frame svg {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\nselect[name=\"scanMethod\"] {\n width: 100%;\n margin: 0 0 1.5rem;\n}\n\ninput[type=\"file\"]::-webkit-file-upload-button {\n color: var(--background);\n background-color: var(--accent);\n cursor: pointer;\n appearance: none;\n border: 0;\n border-radius: .25rem;\n margin-right: .5rem;\n padding-inline: .5rem;\n line-height: 1.6;\n}\n\ninput[type=\"file\"]:disabled::-webkit-file-upload-button {\n cursor: not-allowed;\n}\n\n.dropzone {\n --dropzone-focus-box-shadow: inset 0 0 0 2px var(--focus);\n --dropzone-transition-duration: var(--animation-duration);\n --dropzone-border-color: var(--border);\n --dropzone-border-color-dragover: var(--accent);\n --dropzone-border-color-hover: var(--accent);\n --dropzone-background-color: var(--dropzone-background);\n --dropzone-background-color-dragover: var(--dropzone-background-dragover);\n --dropzone-background-color-hover: var(--dropzone-background-hover);\n --dropzone-body-color: var(--text-main);\n}\n\n.dropzone::part(dropzone) {\n border-radius: var(--border-radius);\n flex-direction: column;\n justify-content: center;\n min-height: 15.625rem;\n margin: 0 auto;\n display: flex;\n}\n\n.dropzone-preview {\n flex-direction: column;\n gap: .5rem;\n display: flex;\n}\n\n.dropzone-preview__image-wrapper {\n max-width: 200px;\n margin: 0 auto;\n}\n\n.dropzone-preview__file-name {\n color: var(--text-main);\n font-size: .9rem;\n}\n\n.dropzone-instructions {\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: .75rem;\n display: flex;\n}\n\nbody > footer {\n border-top: 1px solid var(--border);\n color: var(--text-muted);\n text-align: center;\n margin-top: 1.5rem;\n padding-top: 10px;\n}\n\n.supported-formats:empty {\n display: none;\n}\n\n.supported-formats {\n max-width: var(--container-max-width);\n text-align: center;\n color: var(--text-muted);\n margin: 1rem auto 0;\n padding: 0 .75rem;\n font-size: .75rem;\n}\n\ncapture-photo {\n border: var(--capture-border-width) solid var(--border);\n border-radius: var(--border-radius);\n background-color: #000;\n justify-content: center;\n margin: 0 auto 1.5rem;\n display: flex;\n position: relative;\n overflow: hidden;\n}\n\ncapture-photo::part(video) {\n background-color: #000;\n width: 100%;\n}\n\ncapture-photo[loading]::part(video) {\n background-image: url(\"spinner-light.4452ed29.svg\");\n background-position: center;\n background-repeat: no-repeat;\n background-size: 3.75rem;\n}\n\ncapture-photo::part(facing-mode-button) {\n width: var(--track-control-button-dimensions);\n height: var(--track-control-button-dimensions);\n border-radius: var(--video-border-radius);\n background-color: var(--background);\n color: var(--text-main);\n cursor: pointer;\n appearance: none;\n border: 0;\n justify-content: center;\n align-items: center;\n padding: 0;\n font-size: 1rem;\n transition: background-color .15s ease-in-out;\n display: flex;\n position: absolute;\n bottom: .25rem;\n left: .25rem;\n}\n\n.zoom-controls {\n display: flex;\n position: absolute;\n bottom: .25rem;\n right: .25rem;\n}\n\n.torch-button, .zoom-controls button, .zoom-controls label {\n width: var(--track-control-button-dimensions);\n height: var(--track-control-button-dimensions);\n background-color: var(--background);\n color: var(--text-main);\n border-radius: 0;\n justify-content: center;\n align-items: center;\n margin: 0;\n padding: 0;\n display: flex;\n}\n\n.torch-button {\n bottom: .25rem;\n left: calc(var(--track-control-button-dimensions) + .5rem);\n border-radius: var(--video-border-radius);\n position: absolute;\n}\n\n.zoom-controls button[data-action=\"zoom-in\"] {\n border-top-right-radius: var(--video-border-radius);\n border-bottom-right-radius: var(--video-border-radius);\n}\n\n.zoom-controls button[data-action=\"zoom-out\"] {\n border-top-left-radius: var(--video-border-radius);\n border-bottom-left-radius: var(--video-border-radius);\n}\n\n.zoom-controls label {\n width: 1.5625rem;\n font-family: Arial, Helvetica, sans-serif;\n font-size: .9rem;\n overflow: hidden;\n}\n\n.global-actions {\n justify-content: center;\n align-items: center;\n gap: .5rem;\n display: flex;\n position: absolute;\n top: 8px;\n right: 8px;\n}\n\n.global-actions button {\n color: var(--text-main);\n justify-content: center;\n align-items: center;\n gap: .35rem;\n margin: 0;\n padding: 8px;\n font-size: .9rem;\n line-height: 1;\n display: inline-flex;\n background-color: #0000 !important;\n}\n\n.global-actions button span {\n display: none;\n}\n\n.popover-dialog > header:first-child {\n justify-content: space-between;\n align-items: center;\n margin: 0;\n padding: .5rem .75rem;\n font-weight: 500;\n display: flex;\n}\n\n.popover-dialog > header:first-child button {\n color: var(--text-main);\n margin: 0;\n padding: .25rem;\n line-height: 1;\n background-color: #0000 !important;\n}\n\n.popover-dialog {\n margin: 0;\n padding: 0;\n position: absolute;\n top: 1rem;\n left: auto;\n right: 1rem;\n}\n\n.popover-dialog :not(header) {\n font-size: .9rem;\n}\n\n.popover-dialog ul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.popover-dialog ul li {\n color: var(--text-main);\n border-bottom: 1px solid var(--border);\n align-items: center;\n text-decoration: none;\n display: flex;\n position: relative;\n}\n\n.popover-dialog ul li:last-child {\n border-bottom: 0;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n .popover-dialog::backdrop {\n opacity: 0;\n }\n\n .popover-dialog[open]::backdrop {\n opacity: 1;\n }\n\n .popover-dialog, .popover-dialog::backdrop {\n transition: transform .3s, opacity .3s, display .3s allow-discrete, overlay .3s allow-discrete;\n }\n\n .popover-dialog[open] {\n opacity: 1;\n transform: translateY(0);\n }\n\n .popover-dialog {\n opacity: 0;\n transform: translateY(-16px);\n }\n\n @starting-style {\n .popover-dialog[open] {\n opacity: 0;\n transform: translateY(-16px);\n }\n\n .popover-dialog[open]::backdrop {\n opacity: 0;\n }\n }\n}\n\n.popover-dialog--history ul {\n max-width: 500px;\n}\n\n.popover-dialog--history ul li {\n word-break: break-all;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n padding: .5rem .75rem;\n}\n\n.history-modal__actions {\n gap: .25rem;\n display: flex;\n}\n\n.history-modal__actions button, .history-modal__actions custom-clipboard-copy::part(button) {\n border-radius: var(--border-radius);\n color: var(--text-main);\n cursor: pointer;\n border: 0;\n justify-content: center;\n align-items: center;\n gap: .25rem;\n margin: 0;\n padding: .25rem .5rem;\n font-size: 1rem;\n line-height: 1;\n display: flex;\n background-color: #0000 !important;\n}\n\n.history-modal__actions custom-clipboard-copy::part(button--success) {\n color: var(--success-color);\n}\n\n.history-modal__actions .history-modal__delete-action {\n color: var(--error-color);\n margin-right: -.5rem;\n}\n\n.popover-dialog--settings ul li input[type=\"checkbox\"] {\n margin: .15rem .5rem 0 0;\n}\n\n.popover-dialog--settings ul li label {\n cursor: pointer;\n flex: 1;\n margin: 0;\n padding: .75rem;\n display: flex;\n}\n\n.popover-dialog--settings fieldset {\n border: 0;\n border-radius: 0;\n margin: 0;\n padding: 0;\n}\n\n.popover-dialog--settings fieldset legend {\n padding: .5rem .75rem 0;\n font-weight: 500;\n}\n\n.empty-history-button {\n color: var(--empty-history-button-color);\n width: calc(100% - 1.5rem);\n margin: .75rem 0 .75rem .75rem;\n background-color: var(--error-color) !important;\n}\n\na-tab-group:not(:defined) {\n display: none;\n}\n\na-tab-group::part(tabs) {\n border-radius: var(--border-radius);\n padding: 0;\n}\n\na-tab {\n flex: 1;\n display: flex;\n}\n\na-tab:first-of-type {\n border-start-start-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n}\n\na-tab:last-of-type {\n border-start-end-radius: var(--border-radius);\n border-end-end-radius: var(--border-radius);\n}\n\na-tab::part(base) {\n background-color: var(--background);\n transition: background-color var(--animation-duration) ease-in-out, color var(--animation-duration) ease-in-out;\n flex: 1;\n justify-content: center;\n padding: .5rem .75rem;\n}\n\na-tab:focus-visible {\n outline: .125rem solid var(--text-main);\n outline-offset: -.125rem;\n}\n\na-tab[selected]::part(base) {\n background-color: var(--accent);\n color: var(--background-body);\n}\n\n.visually-hidden {\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n width: 1px !important;\n height: 1px !important;\n margin: -1px !important;\n padding: 0 !important;\n position: absolute !important;\n overflow: hidden !important;\n}\n\n.text-underline {\n text-decoration: underline !important;\n}\n\n@media (width >= 37.5rem) {\n h1 {\n font-size: 2rem;\n }\n\n .scan-instructions p {\n max-width: none;\n }\n\n capture-photo {\n max-width: var(--container-max-width);\n }\n\n .global-actions button span {\n display: inline;\n }\n}\n\n@media (height >= 43.75rem) {\n header {\n margin: 3rem 0;\n }\n}\n\n@media screen and (width <= 20rem) {\n a-tab span {\n font-size: .9rem;\n }\n\n a-tab svg {\n display: none;\n }\n}\n/*# sourceMappingURL=index.8d5422dc.css.map */\n",":root {\n /* Font variables */\n --font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 'Segoe UI Emoji', 'Apple Color Emoji', 'Noto Color Emoji', sans-serif;\n\n /* Color variables */\n --accent-h: 217.75deg;\n --accent-s: 98.36%;\n --accent-l: 52.16%;\n --accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));\n --background-body: #ffffff;\n --background-alt: #f7f7f7;\n --background: #efefef;\n --text-main: #363636;\n --text-muted: #70777f;\n --links: var(--accent);\n --focus: var(--accent);\n --border: #b9b8b8;\n --error-color: #dc3545;\n --success-color: #28a745;\n --dialog-background: #ffffff;\n --scan-frame-color: rgba(255, 255, 255, 0.9);\n --dropzone-background: var(--background-alt);\n --dropzone-background-dragover: var(--background);\n --dropzone-background-hover: var(--background);\n --empty-history-button-color: #ffffff;\n\n /* Other variables */\n --body-max-width: 75rem;\n --border-radius: 6px;\n --animation-duration: 0.1s;\n --container-max-width: 37.5rem;\n --capture-border-width: 3px;\n --video-border-radius: calc(var(--border-radius) / 2);\n --track-control-button-dimensions: 2.25rem;\n\n accent-color: var(--accent);\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n --accent-h: 206;\n --accent-s: 100%;\n --accent-l: 73%;\n --background-body: #212529;\n --background-alt: #343a40;\n --background: var(--background-alt);\n --text-main: #dbdbdb;\n --text-muted: #a9b1ba;\n --links: var(--accent);\n --focus: var(--accent);\n --border: #495057;\n --error-color: #ff808d;\n --success-color: #75b798;\n --dialog-background: var(--background-alt);\n --dropzone-background: #1a1c1e;\n --dropzone-background-dragover: #161718;\n --dropzone-background-hover: #161718;\n --empty-history-button-color: #000000;\n }\n}\n\n*,\n*:before,\n*:after {\n box-sizing: border-box;\n}\n\nbody {\n font-family: var(--font-family);\n line-height: 1.4;\n max-width: var(--body-max-width);\n padding: 0 0.75rem;\n margin: 1.25rem auto;\n word-wrap: break-word;\n color: var(--text-main);\n background: var(--background-body);\n text-rendering: optimizeLegibility;\n}\n\nbody:has(.popover-dialog[open]) {\n overflow-y: hidden;\n}\n\n[hidden] {\n display: none !important;\n}\n\na {\n text-decoration: none;\n color: var(--links);\n}\n\na:hover {\n text-decoration: underline;\n}\n\na > code,\na > strong {\n color: inherit;\n}\n\na,\nbutton,\ninput,\ncustom-clipboard-copy::part(button) {\n outline-color: var(--accent);\n}\n\nbutton {\n color: var(--text-main);\n font-family: inherit;\n font-size: inherit;\n padding: 0.625rem;\n border: none;\n border-radius: var(--border-radius);\n}\n\nbutton:not(:disabled) {\n cursor: pointer;\n}\n\ninput[type='checkbox'] {\n min-width: 1rem;\n width: 1rem;\n height: 1rem;\n}\n\ninput[type=\"checkbox\"]:not(:disabled) {\n cursor: pointer;\n}\n\nkbd {\n background: var(--background);\n border: 1px solid var(--border);\n border-radius: 2px;\n color: var(--text-main);\n padding: 0.125rem 0.25rem;\n}\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\nhr {\n border: none;\n border-top: 1px solid var(--border);\n}\n\nh1 {\n margin: 0.75rem 0;\n font-size: 1.6rem;\n font-weight: 300;\n}\n\ndialog {\n background-color: var(--dialog-background);\n color: var(--text-main);\n border: none;\n border-radius: var(--border-radius);\n border-color: var(--border);\n padding: 10px 30px;\n}\n\ndialog::backdrop {\n background: #0000009c;\n backdrop-filter: blur(4px);\n}\n\n.noscript {\n position: fixed;\n top: 0;\n left: 0;\n display: block;\n width: 100%;\n padding: 0.5rem 1rem;\n text-align: center;\n font-size: 0.9rem;\n color: #842029;\n background-color: #f8d7da;\n}\n\n.site-header {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n margin: 2rem 0;\n text-align: center;\n}\n\n.container {\n max-width: var(--container-max-width);\n margin: 0 auto;\n}\n\n.alert {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 1rem;\n padding: 0.5rem 1rem;\n margin: 0 0 1rem 0;\n font-size: 0.95rem;\n}\n\n.alert button {\n width: 35px;\n min-width: 35px;\n margin: 0;\n padding: 0.15rem;\n background-color: transparent;\n z-index: 2;\n color: inherit;\n font-size: 1.2rem;\n line-height: 1;\n}\n\n.alert-danger {\n color: #842029;\n background-color: #f8d7da;\n border: 1px solid #f5c2c7;\n border-radius: 0.25rem;\n}\n\n.source-code {\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n}\n\n.scan-button {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n gap: 0.5rem;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0.5rem;\n border-radius: 0;\n color: #ffffff;\n background-color: rgba(0, 0, 0, 0.7) !important;\n backdrop-filter: blur(6px);\n font-family: var(--font-family);\n font-size: 0.9375rem;\n text-wrap: balance;\n line-height: 1.5;\n outline-offset: -2px;\n}\n\n.scan-button kbd {\n font-size: 0.8rem;\n}\n\n.results {\n position: relative;\n width: 100%;\n border: 1px solid var(--focus);\n border-radius: 6px;\n margin: 1.5rem 0 0 0;\n padding: 1rem;\n background-color: var(--background-alt);\n}\n\n.results__item {\n display: flex;\n flex-direction: column;\n justify-content: center;\n text-align: center;\n word-wrap: break-word;\n word-break: break-word;\n}\n\n.results__item--no-barcode {\n color: var(--error-color);\n}\n\n.results__actions {\n display: flex;\n align-items: center;\n align-items: center;\n justify-content: center;\n gap: 0.75rem;\n}\n\n.results web-share button,\n.results custom-clipboard-copy::part(button) {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 0.25rem;\n margin: 0.75rem 0 0 0;\n padding: 0.25rem;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n color: inherit;\n line-height: 1;\n font-family: inherit;\n font-size: 0.9rem;\n cursor: pointer;\n}\n\n.scan-instructions {\n font-size: 0.95rem;\n text-align: center;\n text-wrap: balance;\n}\n\n.scan-frame-container {\n position: relative;\n max-width: var(--container-max-width);\n margin: 0 auto;\n}\n\n.scan-frame-container:has(capture-photo[loading]) .scan-frame {\n display: none;\n}\n\n.scan-frame {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) scale(0.9);\n pointer-events: none;\n}\n\n.scan-frame svg {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\nselect[name=\"scanMethod\"] {\n width: 100%;\n margin: 0 0 1.5rem 0;\n}\n\ninput[type=\"file\"]::-webkit-file-upload-button {\n color: var(--background);\n background-color: var(--accent);\n border: 0;\n border-radius: 0.25rem;\n padding-inline: 0.5rem;\n margin-right: 0.5rem;\n line-height: 1.6;\n cursor: pointer;\n -webkit-appearance: none;\n appearance: none;\n}\n\ninput[type=\"file\"]:disabled::-webkit-file-upload-button {\n cursor: not-allowed;\n}\n\n.dropzone {\n --dropzone-focus-box-shadow: inset 0 0 0 2px var(--focus);\n --dropzone-transition-duration: var(--animation-duration);\n --dropzone-border-color: var(--border);\n --dropzone-border-color-dragover: var(--accent);\n --dropzone-border-color-hover: var(--accent);\n --dropzone-background-color: var(--dropzone-background);\n --dropzone-background-color-dragover: var(--dropzone-background-dragover);\n --dropzone-background-color-hover: var(--dropzone-background-hover);\n --dropzone-body-color: var(--text-main);\n}\n\n.dropzone::part(dropzone) {\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin: 0 auto;\n min-height: 15.625rem;\n border-radius: var(--border-radius);\n}\n\n.dropzone-preview {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.dropzone-preview__image-wrapper {\n max-width: 200px;\n margin: 0 auto;\n}\n\n.dropzone-preview__file-name {\n font-size: 0.9rem;\n color: var(--text-main);\n}\n\n.dropzone-instructions {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 0.75rem;\n}\n\nbody > footer {\n margin-top: 1.5rem;\n border-top: 1px solid var(--border);\n padding-top: 10px;\n color: var(--text-muted);\n text-align: center;\n}\n\n.supported-formats:empty {\n display: none;\n}\n\n.supported-formats {\n max-width: var(--container-max-width);\n margin: 1rem auto 0 auto;\n text-align: center;\n padding: 0 0.75rem;\n font-size: 0.75rem;\n color: var(--text-muted);\n}\n\ncapture-photo {\n position: relative;\n display: flex;\n justify-content: center;\n margin: 0 auto 1.5rem auto;\n overflow: hidden;\n border: var(--capture-border-width) solid var(--border);\n border-radius: var(--border-radius);\n background-color: #000000;\n}\n\ncapture-photo::part(video) {\n width: 100%;\n background-color: #000000;\n}\n\ncapture-photo[loading]::part(video) {\n background-image: url(../assets/icons/spinner-light.svg);\n background-size: 3.75rem;\n background-position: center center;\n background-repeat: no-repeat;\n}\n\ncapture-photo::part(facing-mode-button) {\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n bottom: 0.25rem;\n left: 0.25rem;\n width: var(--track-control-button-dimensions);\n height: var(--track-control-button-dimensions);\n padding: 0;\n border: 0;\n border-radius: var(--video-border-radius);\n background-color: var(--background);\n color: var(--text-main);\n cursor: pointer;\n -webkit-appearance: none;\n appearance: none;\n transition: background-color 0.15s ease-in-out;\n font-size: 1rem;\n}\n\n.zoom-controls {\n position: absolute;\n bottom: 0.25rem;\n right: 0.25rem;\n display: flex;\n}\n\n.torch-button,\n.zoom-controls button,\n.zoom-controls label {\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0;\n width: var(--track-control-button-dimensions);\n height: var(--track-control-button-dimensions);\n padding: 0;\n border-radius: 0;\n background-color: var(--background);\n color: var(--text-main);\n}\n\n.torch-button {\n position: absolute;\n bottom: 0.25rem;\n left: calc(var(--track-control-button-dimensions) + 0.5rem);\n border-radius: var(--video-border-radius);\n}\n\n.zoom-controls button[data-action=\"zoom-in\"] {\n border-top-right-radius: var(--video-border-radius);\n border-bottom-right-radius: var(--video-border-radius);\n}\n\n.zoom-controls button[data-action=\"zoom-out\"] {\n border-top-left-radius: var(--video-border-radius);\n border-bottom-left-radius: var(--video-border-radius);\n}\n\n.zoom-controls label {\n width: 1.5625rem;\n font-size: 0.9rem;\n overflow: hidden;\n font-family: Arial, Helvetica, sans-serif;\n}\n\n.global-actions {\n position: absolute;\n top: 8px;\n right: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n}\n\n.global-actions button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.35rem;\n padding: 0;\n background-color: transparent !important;\n color: var(--text-main);\n line-height: 1;\n padding: 8px;\n margin: 0;\n font-size: 0.9rem;\n}\n\n.global-actions button span {\n display: none;\n}\n\n.popover-dialog > header:first-child {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 0;\n padding: 0.5rem 0.75rem;\n font-weight: 500;\n}\n\n.popover-dialog > header:first-child button {\n padding: 0.25rem;\n margin: 0;\n background-color: transparent !important;\n line-height: 1;\n color: var(--text-main);\n}\n\n.popover-dialog {\n position: absolute;\n top: 1rem;\n right: 1rem;\n left: auto;\n padding: 0;\n margin: 0;\n}\n\n.popover-dialog :not(header) {\n font-size: 0.9rem;\n}\n\n.popover-dialog ul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.popover-dialog ul li {\n position: relative;\n display: flex;\n align-items: center;\n color: var(--text-main);\n text-decoration: none;\n border-bottom: 1px solid var(--border);\n}\n\n.popover-dialog ul li:last-child {\n border-bottom: 0;\n}\n\n/* Modal animations */\n@media (prefers-reduced-motion: no-preference) {\n .popover-dialog::backdrop {\n opacity: 0;\n }\n\n .popover-dialog[open]::backdrop {\n opacity: 1;\n }\n\n .popover-dialog,\n .popover-dialog::backdrop {\n transition: transform 0.3s, opacity 0.3s, display 0.3s allow-discrete, overlay 0.3s allow-discrete;\n }\n\n /* 1. IS-OPEN STATE */\n .popover-dialog[open] {\n transform: translateY(0);\n opacity: 1;\n }\n\n /* 2. EXIT STATE */\n .popover-dialog {\n transform: translateY(-16px);\n opacity: 0;\n }\n\n /* 0. BEFORE-OPEN STATE */\n @starting-style {\n .popover-dialog[open] {\n transform: translateY(-16px);\n opacity: 0;\n }\n\n .popover-dialog[open]::backdrop {\n opacity: 0;\n }\n }\n}\n\n.popover-dialog--history ul {\n max-width: 500px;\n}\n\n.popover-dialog--history ul li {\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n padding: 0.5rem 0.75rem;\n word-break: break-all;\n}\n\n.history-modal__actions {\n display: flex;\n gap: 0.25rem;\n}\n\n.history-modal__actions button,\n.history-modal__actions custom-clipboard-copy::part(button) {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n margin: 0;\n border: 0;\n border-radius: var(--border-radius);\n background-color: transparent !important;\n line-height: 1;\n font-size: 1rem;\n color: var(--text-main);\n cursor: pointer;\n}\n\n.history-modal__actions custom-clipboard-copy::part(button--success) {\n color: var(--success-color);\n}\n\n.history-modal__actions .history-modal__delete-action {\n color: var(--error-color);\n margin-right: -0.5rem;\n}\n\n.popover-dialog--settings ul li input[type=\"checkbox\"] {\n margin: 0.15rem 0.5rem 0 0;\n}\n\n.popover-dialog--settings ul li label {\n display: flex;\n flex: 1;\n margin: 0;\n padding: 0.75rem;\n cursor: pointer;\n}\n\n.popover-dialog--settings fieldset {\n border: 0;\n padding: 0;\n margin: 0;\n border-radius: 0;\n}\n\n.popover-dialog--settings fieldset legend {\n padding: 0.5rem 0.75rem 0 0.75rem;\n font-weight: 500;\n}\n\n.empty-history-button {\n width: calc(100% - 1.5rem);\n margin: 0.75rem 0 0.75rem 0.75rem;\n background-color: var(--error-color) !important;\n color: var(--empty-history-button-color);\n}\n\n/* Tab group */\na-tab-group:not(:defined) {\n display: none;\n}\n\na-tab-group::part(tabs) {\n border-radius: var(--border-radius);\n padding: 0;\n}\n\na-tab {\n display: flex;\n flex: 1;\n}\n\na-tab:nth-of-type(1) {\n border-start-start-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n}\n\na-tab:last-of-type {\n border-start-end-radius: var(--border-radius);\n border-end-end-radius: var(--border-radius);\n}\n\na-tab::part(base) {\n flex: 1;\n justify-content: center;\n padding: 0.5rem 0.75rem;\n background-color: var(--background);\n transition: background-color var(--animation-duration) ease-in-out, color var(--animation-duration) ease-in-out;\n}\n\na-tab:focus-visible {\n outline: 0.125rem solid var(--text-main);\n outline-offset: -0.125rem;\n}\n\na-tab[selected]::part(base) {\n background-color: var(--accent);\n color: var(--background-body);\n}\n\n/* Utils */\n.visually-hidden {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.text-underline {\n text-decoration: underline !important;\n}\n\n/* Media queries */\n@media (min-width: 37.5rem) {\n h1 {\n font-size: 2rem;\n }\n\n .scan-instructions p {\n max-width: none;\n }\n\n capture-photo {\n max-width: var(--container-max-width);\n }\n\n .global-actions button span {\n display: inline;\n }\n}\n\n@media (min-height: 43.75rem) {\n header {\n margin: 3rem 0;\n }\n}\n\n@media screen and (max-width: 20rem) {\n a-tab span {\n font-size: 0.9rem;\n }\n\n a-tab svg {\n display: none;\n }\n}\n"],"names":[],"version":3,"file":"index.8d5422dc.css.map"} \ No newline at end of file diff --git a/index.aabcad04.css b/index.aabcad04.css new file mode 100644 index 0000000..e065952 --- /dev/null +++ b/index.aabcad04.css @@ -0,0 +1,2 @@ +:root{--font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue","Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;--accent-h:217.75deg;--accent-s:98.36%;--accent-l:52.16%;--accent:hsl(var(--accent-h),var(--accent-s),var(--accent-l));--background-body:#fff;--background-alt:#f7f7f7;--background:#efefef;--text-main:#363636;--text-muted:#70777f;--links:var(--accent);--focus:var(--accent);--border:#b9b8b8;--error-color:#dc3545;--success-color:#28a745;--dialog-background:#fff;--scan-frame-color:#ffffffe6;--dropzone-background:var(--background-alt);--dropzone-background-dragover:var(--background);--dropzone-background-hover:var(--background);--empty-history-button-color:#fff;--body-max-width:75rem;--border-radius:6px;--animation-duration:.1s;--container-max-width:37.5rem;--capture-border-width:3px;--track-control-button-dimensions:2.25rem;accent-color:var(--accent)}@media (prefers-color-scheme:dark){:root{--accent-h:206;--accent-s:100%;--accent-l:73%;--background-body:#212529;--background-alt:#343a40;--background:var(--background-alt);--text-main:#dbdbdb;--text-muted:#a9b1ba;--links:var(--accent);--focus:var(--accent);--border:#495057;--error-color:#ff808d;--success-color:#75b798;--dialog-background:var(--background-alt);--dropzone-background:#1a1c1e;--dropzone-background-dragover:#161718;--dropzone-background-hover:#161718;--empty-history-button-color:#000}}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-family);max-width:var(--body-max-width);word-wrap:break-word;color:var(--text-main);background:var(--background-body);text-rendering:optimizelegibility;margin:1.25rem auto;padding:0 .75rem;line-height:1.4}body:has(.popover-dialog[open]){overflow-y:hidden}[hidden]{display:none!important}a{color:var(--links);text-decoration:none}a:hover{text-decoration:underline}a>code,a>strong{color:inherit}a,button,input,custom-clipboard-copy::part(button){outline-color:var(--accent)}button{color:var(--text-main);font-family:inherit;font-size:inherit;border-radius:var(--border-radius);border:none;padding:.625rem}button:not(:disabled){cursor:pointer}input[type=checkbox]{width:1rem;min-width:1rem;height:1rem}input[type=checkbox]:not(:disabled){cursor:pointer}kbd{background:var(--background);border:1px solid var(--border);color:var(--text-main);border-radius:2px;padding:.125rem .25rem}img,video{max-width:100%;height:auto}hr{border:none;border-top:1px solid var(--border)}h1{margin:.75rem 0;font-size:1.6rem;font-weight:300}dialog{background-color:var(--dialog-background);color:var(--text-main);border-radius:var(--border-radius);border:none;border-color:var(--border);padding:10px 30px}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000009c}.noscript{text-align:center;color:#842029;background-color:#f8d7da;width:100%;padding:.5rem 1rem;font-size:.9rem;display:block;position:fixed;top:0;left:0}.site-header{text-align:center;flex-direction:column;justify-content:center;align-items:center;margin:2rem 0;display:flex}.container{max-width:var(--container-max-width);margin:0 auto}.alert{justify-content:space-between;align-items:center;margin:0 0 1rem;padding:.5rem 1rem;font-size:.95rem;display:flex}.alert button{z-index:2;color:inherit;background-color:#0000;width:35px;min-width:35px;margin:0;padding:.15rem;font-size:1.2rem;line-height:1}.alert-danger{color:#842029;background-color:#f8d7da;border:1px solid #f5c2c7;border-radius:.25rem}.source-code{align-items:center;gap:.375rem;display:inline-flex}.scan-button{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-family);text-wrap:balance;outline-offset:-2px;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;height:100%;margin:0;padding:.5rem;font-size:.9375rem;line-height:1.5;display:flex;position:absolute;top:0;left:0;background-color:#000000b3!important}.scan-button kbd{font-size:.8rem}.results{border:1px solid var(--focus);background-color:var(--background-alt);border-radius:6px;width:100%;margin:1.5rem 0 0;padding:1rem;position:relative}.results__item{text-align:center;word-wrap:break-word;word-break:break-word;flex-direction:column;justify-content:center;display:flex}.results__item--no-barcode{color:var(--error-color)}.results__actions{justify-content:center;align-items:center;gap:.75rem;display:flex}.results web-share button,.results custom-clipboard-copy::part(button){border-radius:var(--border-radius);color:inherit;cursor:pointer;background-color:#0000;border:0;justify-content:center;align-items:center;gap:.25rem;margin:.75rem 0 0;padding:.25rem;font-family:inherit;font-size:.9rem;line-height:1;display:flex}.scan-instructions{text-align:center;text-wrap:balance;font-size:.95rem}.scan-frame-container{max-width:var(--container-max-width);margin:0 auto;position:relative}.scan-frame-container:has(capture-photo[loading]) .scan-frame{display:none}.scan-frame{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.9)}.scan-frame svg{width:100%;height:100%;position:absolute;top:0;left:0}select[name=scanMethod]{width:100%;margin:0 0 1.5rem}input[type=file]::-webkit-file-upload-button{color:var(--background);background-color:var(--accent);cursor:pointer;appearance:none;border:0;border-radius:.25rem;margin-right:.5rem;padding-inline:.5rem;line-height:1.6}input[type=file]:disabled::-webkit-file-upload-button{cursor:not-allowed}.dropzone{--dropzone-focus-box-shadow:inset 0 0 0 2px var(--focus);--dropzone-transition-duration:var(--animation-duration);--dropzone-border-color:var(--border);--dropzone-border-color-dragover:var(--accent);--dropzone-border-color-hover:var(--accent);--dropzone-background-color:var(--dropzone-background);--dropzone-background-color-dragover:var(--dropzone-background-dragover);--dropzone-background-color-hover:var(--dropzone-background-hover);--dropzone-body-color:var(--text-main)}.dropzone::part(dropzone){border-radius:var(--border-radius);flex-direction:column;justify-content:center;min-height:15.625rem;margin:0 auto;display:flex}.dropzone-preview{flex-direction:column;gap:.5rem;display:flex}.dropzone-preview__image-wrapper{max-width:200px;margin:0 auto}.dropzone-preview__file-name{color:var(--text-main);font-size:.9rem}.dropzone-instructions{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}body>footer{border-top:1px solid var(--border);color:var(--text-muted);text-align:center;margin-top:1.5rem;padding-top:10px}.supported-formats:empty{display:none}.supported-formats{max-width:var(--container-max-width);text-align:center;color:var(--text-muted);margin:1rem auto 0;padding:0 .75rem;font-size:.75rem}capture-photo{border:var(--capture-border-width)solid var(--border);border-radius:var(--border-radius);background-color:#000;justify-content:center;margin:0 auto 1.5rem;display:flex;position:relative;overflow:hidden}capture-photo::part(video){background-color:#000;width:100%}capture-photo[loading]::part(video){background-image:url(spinner-light.4452ed29.svg);background-position:50%;background-repeat:no-repeat;background-size:3.75rem}capture-photo::part(facing-mode-button){width:var(--track-control-button-dimensions);height:var(--track-control-button-dimensions);border-radius:calc(var(--border-radius)/2);background-color:var(--background);color:var(--text-main);cursor:pointer;appearance:none;border:0;justify-content:center;align-items:center;padding:0;font-size:1rem;transition:background-color .15s ease-in-out;display:flex;position:absolute;bottom:.25rem;left:.25rem}.zoom-controls{display:flex;position:absolute;bottom:.25rem;right:.25rem}.torch-button,.zoom-controls button,.zoom-controls label{width:var(--track-control-button-dimensions);height:var(--track-control-button-dimensions);background-color:var(--background);color:var(--text-main);border-radius:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.torch-button{bottom:.25rem;left:calc(var(--track-control-button-dimensions) + .5rem);border-radius:calc(var(--border-radius)/2);position:absolute}.zoom-controls button[data-action=zoom-in]{border-top-right-radius:calc(var(--border-radius)/2);border-bottom-right-radius:calc(var(--border-radius)/2)}.zoom-controls button[data-action=zoom-out]{border-top-left-radius:calc(var(--border-radius)/2);border-bottom-left-radius:calc(var(--border-radius)/2)}.zoom-controls label{width:1.5625rem;font-family:Arial,Helvetica,sans-serif;font-size:.9rem;overflow:hidden}.global-actions{justify-content:center;align-items:center;gap:.5rem;display:flex;position:absolute;top:8px;right:8px}.global-actions button{color:var(--text-main);justify-content:center;align-items:center;gap:.35rem;margin:0;padding:8px;font-size:.9rem;line-height:1;display:inline-flex;background-color:#0000!important}.global-actions button span{display:none}.popover-dialog>header:first-child{justify-content:space-between;align-items:center;margin:0;padding:.5rem .75rem;font-weight:500;display:flex}.popover-dialog>header:first-child button{color:var(--text-main);margin:0;padding:.25rem;line-height:1;background-color:#0000!important}.popover-dialog{margin:0;padding:0;position:absolute;top:1rem;left:auto;right:1rem}.popover-dialog :not(header){font-size:.9rem}.popover-dialog ul{margin:0;padding:0;list-style:none}.popover-dialog ul li{color:var(--text-main);border-bottom:1px solid var(--border);align-items:center;text-decoration:none;display:flex;position:relative}.popover-dialog ul li:last-child{border-bottom:0}@media (prefers-reduced-motion:no-preference){.popover-dialog::backdrop{opacity:0}.popover-dialog[open]::backdrop{opacity:1}.popover-dialog,.popover-dialog::backdrop{transition:transform .3s,opacity .3s,display .3s allow-discrete,overlay .3s allow-discrete}.popover-dialog[open]{opacity:1;transform:translateY(0)}.popover-dialog{opacity:0;transform:translateY(-16px)}@starting-style{.popover-dialog[open]{opacity:0;transform:translateY(-16px)}.popover-dialog[open]::backdrop{opacity:0}}}.popover-dialog--history ul{max-width:500px}.popover-dialog--history ul li{word-break:break-all;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .75rem}.history-modal__actions{gap:.25rem;display:flex}.history-modal__actions button,.history-modal__actions custom-clipboard-copy::part(button){border-radius:var(--border-radius);color:var(--text-main);cursor:pointer;border:0;justify-content:center;align-items:center;gap:.25rem;margin:0;padding:.25rem .5rem;font-size:1rem;line-height:1;display:flex;background-color:#0000!important}.history-modal__actions custom-clipboard-copy::part(button--success){color:var(--success-color)}.history-modal__actions .history-modal__delete-action{color:var(--error-color);margin-right:-.5rem}.popover-dialog--settings ul li input[type=checkbox]{margin:.15rem .5rem 0 0}.popover-dialog--settings ul li label{cursor:pointer;flex:1;margin:0;padding:.75rem;display:flex}.popover-dialog--settings fieldset{border:0;border-radius:0;margin:0;padding:0}.popover-dialog--settings fieldset legend{padding:.5rem .75rem 0;font-weight:500}.empty-history-button{color:var(--empty-history-button-color);width:calc(100% - 1.5rem);margin:.75rem 0 .75rem .75rem;background-color:var(--error-color)!important}a-tab-group:not(:defined){display:none}a-tab-group::part(tabs){border-radius:var(--border-radius);padding:0}a-tab{flex:1;display:flex}a-tab:first-of-type{border-start-start-radius:var(--border-radius);border-end-start-radius:var(--border-radius)}a-tab:last-of-type{border-start-end-radius:var(--border-radius);border-end-end-radius:var(--border-radius)}a-tab::part(base){background-color:var(--background);transition:background-color var(--animation-duration)ease-in-out,color var(--animation-duration)ease-in-out;flex:1;justify-content:center;padding:.5rem .75rem}a-tab:focus-visible{outline:.125rem solid var(--text-main);outline-offset:-.125rem}a-tab[selected]::part(base){background-color:var(--accent);color:var(--background-body)}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.text-underline{text-decoration:underline!important}@media (min-width:37.5rem){h1{font-size:2rem}.scan-instructions p{max-width:none}capture-photo{max-width:var(--container-max-width)}.global-actions button span{display:inline}}@media (min-height:43.75rem){header{margin:3rem 0}}@media screen and (max-width:20rem){a-tab span{font-size:.9rem}a-tab svg{display:none}} +/*# sourceMappingURL=index.aabcad04.css.map */ diff --git a/index.aabcad04.css.map b/index.aabcad04.css.map new file mode 100644 index 0000000..e368917 --- /dev/null +++ b/index.aabcad04.css.map @@ -0,0 +1 @@ +{"mappings":"ACAA,m9BAqCA,mCACE,odAsBF,uCAMA,yOAYA,kDAIA,gCAIA,0CAKA,kCAIA,8BAKA,+EAOA,mIASA,qCAIA,2DAMA,mDAIA,gIAQA,qCAMA,kDAKA,oDAMA,oKASA,kGAKA,2JAaA,0HASA,8DAKA,yHAUA,8IAYA,mGAOA,gEAMA,qZAwBA,iCAIA,4JAUA,sIASA,oDAIA,oFAQA,4TAkBA,wEAMA,2FAMA,2EAIA,2GAQA,sEAQA,qDAKA,yNAaA,yEAIA,ueAYA,0JASA,+DAMA,+DAKA,oEAKA,+GAQA,4HAQA,sCAIA,uJASA,wNAWA,4DAKA,kLAOA,ybAqBA,yEAOA,wSAeA,mJAOA,wJAKA,uJAKA,4GAOA,qHAUA,2MAcA,yCAIA,+IASA,wIAQA,mFASA,6CAIA,sDAMA,0JASA,iDAKA,8CACE,oCAIA,0CAIA,qIAMA,wDAMA,sDAMA,gBACE,4DAKA,4CAMJ,4CAIA,mIAQA,gDAKA,2UAiBA,gGAIA,mGAKA,6EAIA,iGAQA,+EAOA,iFAKA,oKAQA,uCAIA,qEAKA,0BAKA,gHAKA,2GAKA,oNAQA,mFAKA,wFAMA,uOAYA,oDAKA,2BACE,kBAIA,oCAIA,mDAIA,4CAKF,6BACE,sBAKF,oCACE,2BAIA","sources":["index.aabcad04.css","src/css/main.css"],"sourcesContent":[":root {\n --font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Segoe UI Emoji\", \"Apple Color Emoji\", \"Noto Color Emoji\", sans-serif;\n --accent-h: 217.75deg;\n --accent-s: 98.36%;\n --accent-l: 52.16%;\n --accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));\n --background-body: #fff;\n --background-alt: #f7f7f7;\n --background: #efefef;\n --text-main: #363636;\n --text-muted: #70777f;\n --links: var(--accent);\n --focus: var(--accent);\n --border: #b9b8b8;\n --error-color: #dc3545;\n --success-color: #28a745;\n --dialog-background: #fff;\n --scan-frame-color: #ffffffe6;\n --dropzone-background: var(--background-alt);\n --dropzone-background-dragover: var(--background);\n --dropzone-background-hover: var(--background);\n --empty-history-button-color: #fff;\n --body-max-width: 75rem;\n --border-radius: 6px;\n --animation-duration: .1s;\n --container-max-width: 37.5rem;\n --capture-border-width: 3px;\n --track-control-button-dimensions: 2.25rem;\n accent-color: var(--accent);\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n --accent-h: 206;\n --accent-s: 100%;\n --accent-l: 73%;\n --background-body: #212529;\n --background-alt: #343a40;\n --background: var(--background-alt);\n --text-main: #dbdbdb;\n --text-muted: #a9b1ba;\n --links: var(--accent);\n --focus: var(--accent);\n --border: #495057;\n --error-color: #ff808d;\n --success-color: #75b798;\n --dialog-background: var(--background-alt);\n --dropzone-background: #1a1c1e;\n --dropzone-background-dragover: #161718;\n --dropzone-background-hover: #161718;\n --empty-history-button-color: #000;\n }\n}\n\n*, :before, :after {\n box-sizing: border-box;\n}\n\nbody {\n font-family: var(--font-family);\n max-width: var(--body-max-width);\n word-wrap: break-word;\n color: var(--text-main);\n background: var(--background-body);\n text-rendering: optimizelegibility;\n margin: 1.25rem auto;\n padding: 0 .75rem;\n line-height: 1.4;\n}\n\nbody:has(.popover-dialog[open]) {\n overflow-y: hidden;\n}\n\n[hidden] {\n display: none !important;\n}\n\na {\n color: var(--links);\n text-decoration: none;\n}\n\na:hover {\n text-decoration: underline;\n}\n\na > code, a > strong {\n color: inherit;\n}\n\na, button, input, custom-clipboard-copy::part(button) {\n outline-color: var(--accent);\n}\n\nbutton {\n color: var(--text-main);\n font-family: inherit;\n font-size: inherit;\n border-radius: var(--border-radius);\n border: none;\n padding: .625rem;\n}\n\nbutton:not(:disabled) {\n cursor: pointer;\n}\n\ninput[type=\"checkbox\"] {\n width: 1rem;\n min-width: 1rem;\n height: 1rem;\n}\n\ninput[type=\"checkbox\"]:not(:disabled) {\n cursor: pointer;\n}\n\nkbd {\n background: var(--background);\n border: 1px solid var(--border);\n color: var(--text-main);\n border-radius: 2px;\n padding: .125rem .25rem;\n}\n\nimg, video {\n max-width: 100%;\n height: auto;\n}\n\nhr {\n border: none;\n border-top: 1px solid var(--border);\n}\n\nh1 {\n margin: .75rem 0;\n font-size: 1.6rem;\n font-weight: 300;\n}\n\ndialog {\n background-color: var(--dialog-background);\n color: var(--text-main);\n border-radius: var(--border-radius);\n border: none;\n border-color: var(--border);\n padding: 10px 30px;\n}\n\ndialog::backdrop {\n backdrop-filter: blur(4px);\n background: #0000009c;\n}\n\n.noscript {\n text-align: center;\n color: #842029;\n background-color: #f8d7da;\n width: 100%;\n padding: .5rem 1rem;\n font-size: .9rem;\n display: block;\n position: fixed;\n top: 0;\n left: 0;\n}\n\n.site-header {\n text-align: center;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin: 2rem 0;\n display: flex;\n}\n\n.container {\n max-width: var(--container-max-width);\n margin: 0 auto;\n}\n\n.alert {\n justify-content: space-between;\n align-items: center;\n margin: 0 0 1rem;\n padding: .5rem 1rem;\n font-size: .95rem;\n display: flex;\n}\n\n.alert button {\n z-index: 2;\n color: inherit;\n background-color: #0000;\n width: 35px;\n min-width: 35px;\n margin: 0;\n padding: .15rem;\n font-size: 1.2rem;\n line-height: 1;\n}\n\n.alert-danger {\n color: #842029;\n background-color: #f8d7da;\n border: 1px solid #f5c2c7;\n border-radius: .25rem;\n}\n\n.source-code {\n align-items: center;\n gap: .375rem;\n display: inline-flex;\n}\n\n.scan-button {\n color: #fff;\n backdrop-filter: blur(6px);\n font-family: var(--font-family);\n text-wrap: balance;\n outline-offset: -2px;\n border-radius: 0;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: .5rem;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: .5rem;\n font-size: .9375rem;\n line-height: 1.5;\n display: flex;\n position: absolute;\n top: 0;\n left: 0;\n background-color: #000000b3 !important;\n}\n\n.scan-button kbd {\n font-size: .8rem;\n}\n\n.results {\n border: 1px solid var(--focus);\n background-color: var(--background-alt);\n border-radius: 6px;\n width: 100%;\n margin: 1.5rem 0 0;\n padding: 1rem;\n position: relative;\n}\n\n.results__item {\n text-align: center;\n word-wrap: break-word;\n word-break: break-word;\n flex-direction: column;\n justify-content: center;\n display: flex;\n}\n\n.results__item--no-barcode {\n color: var(--error-color);\n}\n\n.results__actions {\n justify-content: center;\n align-items: center;\n gap: .75rem;\n display: flex;\n}\n\n.results web-share button, .results custom-clipboard-copy::part(button) {\n border-radius: var(--border-radius);\n color: inherit;\n cursor: pointer;\n background-color: #0000;\n border: 0;\n justify-content: center;\n align-items: center;\n gap: .25rem;\n margin: .75rem 0 0;\n padding: .25rem;\n font-family: inherit;\n font-size: .9rem;\n line-height: 1;\n display: flex;\n}\n\n.scan-instructions {\n text-align: center;\n text-wrap: balance;\n font-size: .95rem;\n}\n\n.scan-frame-container {\n max-width: var(--container-max-width);\n margin: 0 auto;\n position: relative;\n}\n\n.scan-frame-container:has(capture-photo[loading]) .scan-frame {\n display: none;\n}\n\n.scan-frame {\n pointer-events: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%)scale(.9);\n}\n\n.scan-frame svg {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\nselect[name=\"scanMethod\"] {\n width: 100%;\n margin: 0 0 1.5rem;\n}\n\ninput[type=\"file\"]::-webkit-file-upload-button {\n color: var(--background);\n background-color: var(--accent);\n cursor: pointer;\n appearance: none;\n border: 0;\n border-radius: .25rem;\n margin-right: .5rem;\n padding-inline: .5rem;\n line-height: 1.6;\n}\n\ninput[type=\"file\"]:disabled::-webkit-file-upload-button {\n cursor: not-allowed;\n}\n\n.dropzone {\n --dropzone-focus-box-shadow: inset 0 0 0 2px var(--focus);\n --dropzone-transition-duration: var(--animation-duration);\n --dropzone-border-color: var(--border);\n --dropzone-border-color-dragover: var(--accent);\n --dropzone-border-color-hover: var(--accent);\n --dropzone-background-color: var(--dropzone-background);\n --dropzone-background-color-dragover: var(--dropzone-background-dragover);\n --dropzone-background-color-hover: var(--dropzone-background-hover);\n --dropzone-body-color: var(--text-main);\n}\n\n.dropzone::part(dropzone) {\n border-radius: var(--border-radius);\n flex-direction: column;\n justify-content: center;\n min-height: 15.625rem;\n margin: 0 auto;\n display: flex;\n}\n\n.dropzone-preview {\n flex-direction: column;\n gap: .5rem;\n display: flex;\n}\n\n.dropzone-preview__image-wrapper {\n max-width: 200px;\n margin: 0 auto;\n}\n\n.dropzone-preview__file-name {\n color: var(--text-main);\n font-size: .9rem;\n}\n\n.dropzone-instructions {\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: .75rem;\n display: flex;\n}\n\nbody > footer {\n border-top: 1px solid var(--border);\n color: var(--text-muted);\n text-align: center;\n margin-top: 1.5rem;\n padding-top: 10px;\n}\n\n.supported-formats:empty {\n display: none;\n}\n\n.supported-formats {\n max-width: var(--container-max-width);\n text-align: center;\n color: var(--text-muted);\n margin: 1rem auto 0;\n padding: 0 .75rem;\n font-size: .75rem;\n}\n\ncapture-photo {\n border: var(--capture-border-width) solid var(--border);\n border-radius: var(--border-radius);\n background-color: #000;\n justify-content: center;\n margin: 0 auto 1.5rem;\n display: flex;\n position: relative;\n overflow: hidden;\n}\n\ncapture-photo::part(video) {\n background-color: #000;\n width: 100%;\n}\n\ncapture-photo[loading]::part(video) {\n background-image: url(\"spinner-light.4452ed29.svg\");\n background-position: center;\n background-repeat: no-repeat;\n background-size: 3.75rem;\n}\n\ncapture-photo::part(facing-mode-button) {\n width: var(--track-control-button-dimensions);\n height: var(--track-control-button-dimensions);\n border-radius: calc(var(--border-radius) / 2);\n background-color: var(--background);\n color: var(--text-main);\n cursor: pointer;\n appearance: none;\n border: 0;\n justify-content: center;\n align-items: center;\n padding: 0;\n font-size: 1rem;\n transition: background-color .15s ease-in-out;\n display: flex;\n position: absolute;\n bottom: .25rem;\n left: .25rem;\n}\n\n.zoom-controls {\n display: flex;\n position: absolute;\n bottom: .25rem;\n right: .25rem;\n}\n\n.torch-button, .zoom-controls button, .zoom-controls label {\n width: var(--track-control-button-dimensions);\n height: var(--track-control-button-dimensions);\n background-color: var(--background);\n color: var(--text-main);\n border-radius: 0;\n justify-content: center;\n align-items: center;\n margin: 0;\n padding: 0;\n display: flex;\n}\n\n.torch-button {\n bottom: .25rem;\n left: calc(var(--track-control-button-dimensions) + .5rem);\n border-radius: calc(var(--border-radius) / 2);\n position: absolute;\n}\n\n.zoom-controls button[data-action=\"zoom-in\"] {\n border-top-right-radius: calc(var(--border-radius) / 2);\n border-bottom-right-radius: calc(var(--border-radius) / 2);\n}\n\n.zoom-controls button[data-action=\"zoom-out\"] {\n border-top-left-radius: calc(var(--border-radius) / 2);\n border-bottom-left-radius: calc(var(--border-radius) / 2);\n}\n\n.zoom-controls label {\n width: 1.5625rem;\n font-family: Arial, Helvetica, sans-serif;\n font-size: .9rem;\n overflow: hidden;\n}\n\n.global-actions {\n justify-content: center;\n align-items: center;\n gap: .5rem;\n display: flex;\n position: absolute;\n top: 8px;\n right: 8px;\n}\n\n.global-actions button {\n color: var(--text-main);\n justify-content: center;\n align-items: center;\n gap: .35rem;\n margin: 0;\n padding: 8px;\n font-size: .9rem;\n line-height: 1;\n display: inline-flex;\n background-color: #0000 !important;\n}\n\n.global-actions button span {\n display: none;\n}\n\n.popover-dialog > header:first-child {\n justify-content: space-between;\n align-items: center;\n margin: 0;\n padding: .5rem .75rem;\n font-weight: 500;\n display: flex;\n}\n\n.popover-dialog > header:first-child button {\n color: var(--text-main);\n margin: 0;\n padding: .25rem;\n line-height: 1;\n background-color: #0000 !important;\n}\n\n.popover-dialog {\n margin: 0;\n padding: 0;\n position: absolute;\n top: 1rem;\n left: auto;\n right: 1rem;\n}\n\n.popover-dialog :not(header) {\n font-size: .9rem;\n}\n\n.popover-dialog ul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.popover-dialog ul li {\n color: var(--text-main);\n border-bottom: 1px solid var(--border);\n align-items: center;\n text-decoration: none;\n display: flex;\n position: relative;\n}\n\n.popover-dialog ul li:last-child {\n border-bottom: 0;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n .popover-dialog::backdrop {\n opacity: 0;\n }\n\n .popover-dialog[open]::backdrop {\n opacity: 1;\n }\n\n .popover-dialog, .popover-dialog::backdrop {\n transition: transform .3s, opacity .3s, display .3s allow-discrete, overlay .3s allow-discrete;\n }\n\n .popover-dialog[open] {\n opacity: 1;\n transform: translateY(0);\n }\n\n .popover-dialog {\n opacity: 0;\n transform: translateY(-16px);\n }\n\n @starting-style {\n .popover-dialog[open] {\n opacity: 0;\n transform: translateY(-16px);\n }\n\n .popover-dialog[open]::backdrop {\n opacity: 0;\n }\n }\n}\n\n.popover-dialog--history ul {\n max-width: 500px;\n}\n\n.popover-dialog--history ul li {\n word-break: break-all;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n padding: .5rem .75rem;\n}\n\n.history-modal__actions {\n gap: .25rem;\n display: flex;\n}\n\n.history-modal__actions button, .history-modal__actions custom-clipboard-copy::part(button) {\n border-radius: var(--border-radius);\n color: var(--text-main);\n cursor: pointer;\n border: 0;\n justify-content: center;\n align-items: center;\n gap: .25rem;\n margin: 0;\n padding: .25rem .5rem;\n font-size: 1rem;\n line-height: 1;\n display: flex;\n background-color: #0000 !important;\n}\n\n.history-modal__actions custom-clipboard-copy::part(button--success) {\n color: var(--success-color);\n}\n\n.history-modal__actions .history-modal__delete-action {\n color: var(--error-color);\n margin-right: -.5rem;\n}\n\n.popover-dialog--settings ul li input[type=\"checkbox\"] {\n margin: .15rem .5rem 0 0;\n}\n\n.popover-dialog--settings ul li label {\n cursor: pointer;\n flex: 1;\n margin: 0;\n padding: .75rem;\n display: flex;\n}\n\n.popover-dialog--settings fieldset {\n border: 0;\n border-radius: 0;\n margin: 0;\n padding: 0;\n}\n\n.popover-dialog--settings fieldset legend {\n padding: .5rem .75rem 0;\n font-weight: 500;\n}\n\n.empty-history-button {\n color: var(--empty-history-button-color);\n width: calc(100% - 1.5rem);\n margin: .75rem 0 .75rem .75rem;\n background-color: var(--error-color) !important;\n}\n\na-tab-group:not(:defined) {\n display: none;\n}\n\na-tab-group::part(tabs) {\n border-radius: var(--border-radius);\n padding: 0;\n}\n\na-tab {\n flex: 1;\n display: flex;\n}\n\na-tab:first-of-type {\n border-start-start-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n}\n\na-tab:last-of-type {\n border-start-end-radius: var(--border-radius);\n border-end-end-radius: var(--border-radius);\n}\n\na-tab::part(base) {\n background-color: var(--background);\n transition: background-color var(--animation-duration) ease-in-out, color var(--animation-duration) ease-in-out;\n flex: 1;\n justify-content: center;\n padding: .5rem .75rem;\n}\n\na-tab:focus-visible {\n outline: .125rem solid var(--text-main);\n outline-offset: -.125rem;\n}\n\na-tab[selected]::part(base) {\n background-color: var(--accent);\n color: var(--background-body);\n}\n\n.visually-hidden {\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n width: 1px !important;\n height: 1px !important;\n margin: -1px !important;\n padding: 0 !important;\n position: absolute !important;\n overflow: hidden !important;\n}\n\n.text-underline {\n text-decoration: underline !important;\n}\n\n@media (width >= 37.5rem) {\n h1 {\n font-size: 2rem;\n }\n\n .scan-instructions p {\n max-width: none;\n }\n\n capture-photo {\n max-width: var(--container-max-width);\n }\n\n .global-actions button span {\n display: inline;\n }\n}\n\n@media (height >= 43.75rem) {\n header {\n margin: 3rem 0;\n }\n}\n\n@media screen and (width <= 20rem) {\n a-tab span {\n font-size: .9rem;\n }\n\n a-tab svg {\n display: none;\n }\n}\n/*# sourceMappingURL=index.aabcad04.css.map */\n",":root {\n /* Font variables */\n --font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 'Segoe UI Emoji', 'Apple Color Emoji', 'Noto Color Emoji', sans-serif;\n\n /* Color variables */\n --accent-h: 217.75deg;\n --accent-s: 98.36%;\n --accent-l: 52.16%;\n --accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));\n --background-body: #ffffff;\n --background-alt: #f7f7f7;\n --background: #efefef;\n --text-main: #363636;\n --text-muted: #70777f;\n --links: var(--accent);\n --focus: var(--accent);\n --border: #b9b8b8;\n --error-color: #dc3545;\n --success-color: #28a745;\n --dialog-background: #ffffff;\n --scan-frame-color: rgba(255, 255, 255, 0.9);\n --dropzone-background: var(--background-alt);\n --dropzone-background-dragover: var(--background);\n --dropzone-background-hover: var(--background);\n --empty-history-button-color: #ffffff;\n\n /* Other variables */\n --body-max-width: 75rem;\n --border-radius: 6px;\n --animation-duration: 0.1s;\n --container-max-width: 37.5rem;\n --capture-border-width: 3px;\n --track-control-button-dimensions: 2.25rem;\n\n accent-color: var(--accent);\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n --accent-h: 206;\n --accent-s: 100%;\n --accent-l: 73%;\n --background-body: #212529;\n --background-alt: #343a40;\n --background: var(--background-alt);\n --text-main: #dbdbdb;\n --text-muted: #a9b1ba;\n --links: var(--accent);\n --focus: var(--accent);\n --border: #495057;\n --error-color: #ff808d;\n --success-color: #75b798;\n --dialog-background: var(--background-alt);\n --dropzone-background: #1a1c1e;\n --dropzone-background-dragover: #161718;\n --dropzone-background-hover: #161718;\n --empty-history-button-color: #000000;\n }\n}\n\n*,\n*:before,\n*:after {\n box-sizing: border-box;\n}\n\nbody {\n font-family: var(--font-family);\n line-height: 1.4;\n max-width: var(--body-max-width);\n padding: 0 0.75rem;\n margin: 1.25rem auto;\n word-wrap: break-word;\n color: var(--text-main);\n background: var(--background-body);\n text-rendering: optimizeLegibility;\n}\n\nbody:has(.popover-dialog[open]) {\n overflow-y: hidden;\n}\n\n[hidden] {\n display: none !important;\n}\n\na {\n text-decoration: none;\n color: var(--links);\n}\n\na:hover {\n text-decoration: underline;\n}\n\na > code,\na > strong {\n color: inherit;\n}\n\na,\nbutton,\ninput,\ncustom-clipboard-copy::part(button) {\n outline-color: var(--accent);\n}\n\nbutton {\n color: var(--text-main);\n font-family: inherit;\n font-size: inherit;\n padding: 0.625rem;\n border: none;\n border-radius: var(--border-radius);\n}\n\nbutton:not(:disabled) {\n cursor: pointer;\n}\n\ninput[type='checkbox'] {\n min-width: 1rem;\n width: 1rem;\n height: 1rem;\n}\n\ninput[type=\"checkbox\"]:not(:disabled) {\n cursor: pointer;\n}\n\nkbd {\n background: var(--background);\n border: 1px solid var(--border);\n border-radius: 2px;\n color: var(--text-main);\n padding: 0.125rem 0.25rem;\n}\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\nhr {\n border: none;\n border-top: 1px solid var(--border);\n}\n\nh1 {\n margin: 0.75rem 0;\n font-size: 1.6rem;\n font-weight: 300;\n}\n\ndialog {\n background-color: var(--dialog-background);\n color: var(--text-main);\n border: none;\n border-radius: var(--border-radius);\n border-color: var(--border);\n padding: 10px 30px;\n}\n\ndialog::backdrop {\n background: #0000009c;\n backdrop-filter: blur(4px);\n}\n\n.noscript {\n position: fixed;\n top: 0;\n left: 0;\n display: block;\n width: 100%;\n padding: 0.5rem 1rem;\n text-align: center;\n font-size: 0.9rem;\n color: #842029;\n background-color: #f8d7da;\n}\n\n.site-header {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n margin: 2rem 0;\n text-align: center;\n}\n\n.container {\n max-width: var(--container-max-width);\n margin: 0 auto;\n}\n\n.alert {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 1rem;\n padding: 0.5rem 1rem;\n margin: 0 0 1rem 0;\n font-size: 0.95rem;\n}\n\n.alert button {\n width: 35px;\n min-width: 35px;\n margin: 0;\n padding: 0.15rem;\n background-color: transparent;\n z-index: 2;\n color: inherit;\n font-size: 1.2rem;\n line-height: 1;\n}\n\n.alert-danger {\n color: #842029;\n background-color: #f8d7da;\n border: 1px solid #f5c2c7;\n border-radius: 0.25rem;\n}\n\n.source-code {\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n}\n\n.scan-button {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n gap: 0.5rem;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0.5rem;\n border-radius: 0;\n color: #ffffff;\n background-color: rgba(0, 0, 0, 0.7) !important;\n backdrop-filter: blur(6px);\n font-family: var(--font-family);\n font-size: 0.9375rem;\n text-wrap: balance;\n line-height: 1.5;\n outline-offset: -2px;\n}\n\n.scan-button kbd {\n font-size: 0.8rem;\n}\n\n.results {\n position: relative;\n width: 100%;\n border: 1px solid var(--focus);\n border-radius: 6px;\n margin: 1.5rem 0 0 0;\n padding: 1rem;\n background-color: var(--background-alt);\n}\n\n.results__item {\n display: flex;\n flex-direction: column;\n justify-content: center;\n text-align: center;\n word-wrap: break-word;\n word-break: break-word;\n}\n\n.results__item--no-barcode {\n color: var(--error-color);\n}\n\n.results__actions {\n display: flex;\n align-items: center;\n align-items: center;\n justify-content: center;\n gap: 0.75rem;\n}\n\n.results web-share button,\n.results custom-clipboard-copy::part(button) {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 0.25rem;\n margin: 0.75rem 0 0 0;\n padding: 0.25rem;\n background-color: transparent;\n border: 0;\n border-radius: var(--border-radius);\n color: inherit;\n line-height: 1;\n font-family: inherit;\n font-size: 0.9rem;\n cursor: pointer;\n}\n\n.scan-instructions {\n font-size: 0.95rem;\n text-align: center;\n text-wrap: balance;\n}\n\n.scan-frame-container {\n position: relative;\n max-width: var(--container-max-width);\n margin: 0 auto;\n}\n\n.scan-frame-container:has(capture-photo[loading]) .scan-frame {\n display: none;\n}\n\n.scan-frame {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) scale(0.9);\n pointer-events: none;\n}\n\n.scan-frame svg {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\nselect[name=\"scanMethod\"] {\n width: 100%;\n margin: 0 0 1.5rem 0;\n}\n\ninput[type=\"file\"]::-webkit-file-upload-button {\n color: var(--background);\n background-color: var(--accent);\n border: 0;\n border-radius: 0.25rem;\n padding-inline: 0.5rem;\n margin-right: 0.5rem;\n line-height: 1.6;\n cursor: pointer;\n -webkit-appearance: none;\n appearance: none;\n}\n\ninput[type=\"file\"]:disabled::-webkit-file-upload-button {\n cursor: not-allowed;\n}\n\n.dropzone {\n --dropzone-focus-box-shadow: inset 0 0 0 2px var(--focus);\n --dropzone-transition-duration: var(--animation-duration);\n --dropzone-border-color: var(--border);\n --dropzone-border-color-dragover: var(--accent);\n --dropzone-border-color-hover: var(--accent);\n --dropzone-background-color: var(--dropzone-background);\n --dropzone-background-color-dragover: var(--dropzone-background-dragover);\n --dropzone-background-color-hover: var(--dropzone-background-hover);\n --dropzone-body-color: var(--text-main);\n}\n\n.dropzone::part(dropzone) {\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin: 0 auto;\n min-height: 15.625rem;\n border-radius: var(--border-radius);\n}\n\n.dropzone-preview {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.dropzone-preview__image-wrapper {\n max-width: 200px;\n margin: 0 auto;\n}\n\n.dropzone-preview__file-name {\n font-size: 0.9rem;\n color: var(--text-main);\n}\n\n.dropzone-instructions {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 0.75rem;\n}\n\nbody > footer {\n margin-top: 1.5rem;\n border-top: 1px solid var(--border);\n padding-top: 10px;\n color: var(--text-muted);\n text-align: center;\n}\n\n.supported-formats:empty {\n display: none;\n}\n\n.supported-formats {\n max-width: var(--container-max-width);\n margin: 1rem auto 0 auto;\n text-align: center;\n padding: 0 0.75rem;\n font-size: 0.75rem;\n color: var(--text-muted);\n}\n\ncapture-photo {\n position: relative;\n display: flex;\n justify-content: center;\n margin: 0 auto 1.5rem auto;\n overflow: hidden;\n border: var(--capture-border-width) solid var(--border);\n border-radius: var(--border-radius);\n background-color: #000000;\n}\n\ncapture-photo::part(video) {\n width: 100%;\n background-color: #000000;\n}\n\ncapture-photo[loading]::part(video) {\n background-image: url(../assets/icons/spinner-light.svg);\n background-size: 3.75rem;\n background-position: center center;\n background-repeat: no-repeat;\n}\n\ncapture-photo::part(facing-mode-button) {\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n bottom: 0.25rem;\n left: 0.25rem;\n width: var(--track-control-button-dimensions);\n height: var(--track-control-button-dimensions);\n padding: 0;\n border: 0;\n border-radius: calc(var(--border-radius) / 2);\n background-color: var(--background);\n color: var(--text-main);\n cursor: pointer;\n -webkit-appearance: none;\n appearance: none;\n transition: background-color 0.15s ease-in-out;\n font-size: 1rem;\n}\n\n.zoom-controls {\n position: absolute;\n bottom: 0.25rem;\n right: 0.25rem;\n display: flex;\n}\n\n.torch-button,\n.zoom-controls button,\n.zoom-controls label {\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0;\n width: var(--track-control-button-dimensions);\n height: var(--track-control-button-dimensions);\n padding: 0;\n border-radius: 0;\n background-color: var(--background);\n color: var(--text-main);\n}\n\n.torch-button {\n position: absolute;\n bottom: 0.25rem;\n left: calc(var(--track-control-button-dimensions) + 0.5rem);\n border-radius: calc(var(--border-radius) / 2);\n}\n\n.zoom-controls button[data-action=\"zoom-in\"] {\n border-top-right-radius: calc(var(--border-radius) / 2);\n border-bottom-right-radius: calc(var(--border-radius) / 2);\n}\n\n.zoom-controls button[data-action=\"zoom-out\"] {\n border-top-left-radius: calc(var(--border-radius) / 2);\n border-bottom-left-radius: calc(var(--border-radius) / 2);\n}\n\n.zoom-controls label {\n width: 1.5625rem;\n font-size: 0.9rem;\n overflow: hidden;\n font-family: Arial, Helvetica, sans-serif;\n}\n\n.global-actions {\n position: absolute;\n top: 8px;\n right: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n}\n\n.global-actions button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.35rem;\n padding: 0;\n background-color: transparent !important;\n color: var(--text-main);\n line-height: 1;\n padding: 8px;\n margin: 0;\n font-size: 0.9rem;\n}\n\n.global-actions button span {\n display: none;\n}\n\n.popover-dialog > header:first-child {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 0;\n padding: 0.5rem 0.75rem;\n font-weight: 500;\n}\n\n.popover-dialog > header:first-child button {\n padding: 0.25rem;\n margin: 0;\n background-color: transparent !important;\n line-height: 1;\n color: var(--text-main);\n}\n\n.popover-dialog {\n position: absolute;\n top: 1rem;\n right: 1rem;\n left: auto;\n padding: 0;\n margin: 0;\n}\n\n.popover-dialog :not(header) {\n font-size: 0.9rem;\n}\n\n.popover-dialog ul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.popover-dialog ul li {\n position: relative;\n display: flex;\n align-items: center;\n color: var(--text-main);\n text-decoration: none;\n border-bottom: 1px solid var(--border);\n}\n\n.popover-dialog ul li:last-child {\n border-bottom: 0;\n}\n\n/* Modal animations */\n@media (prefers-reduced-motion: no-preference) {\n .popover-dialog::backdrop {\n opacity: 0;\n }\n\n .popover-dialog[open]::backdrop {\n opacity: 1;\n }\n\n .popover-dialog,\n .popover-dialog::backdrop {\n transition: transform 0.3s, opacity 0.3s, display 0.3s allow-discrete, overlay 0.3s allow-discrete;\n }\n\n /* 1. IS-OPEN STATE */\n .popover-dialog[open] {\n transform: translateY(0);\n opacity: 1;\n }\n\n /* 2. EXIT STATE */\n .popover-dialog {\n transform: translateY(-16px);\n opacity: 0;\n }\n\n /* 0. BEFORE-OPEN STATE */\n @starting-style {\n .popover-dialog[open] {\n transform: translateY(-16px);\n opacity: 0;\n }\n\n .popover-dialog[open]::backdrop {\n opacity: 0;\n }\n }\n}\n\n.popover-dialog--history ul {\n max-width: 500px;\n}\n\n.popover-dialog--history ul li {\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n padding: 0.5rem 0.75rem;\n word-break: break-all;\n}\n\n.history-modal__actions {\n display: flex;\n gap: 0.25rem;\n}\n\n.history-modal__actions button,\n.history-modal__actions custom-clipboard-copy::part(button) {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n margin: 0;\n border: 0;\n border-radius: var(--border-radius);\n background-color: transparent !important;\n line-height: 1;\n font-size: 1rem;\n color: var(--text-main);\n cursor: pointer;\n}\n\n.history-modal__actions custom-clipboard-copy::part(button--success) {\n color: var(--success-color);\n}\n\n.history-modal__actions .history-modal__delete-action {\n color: var(--error-color);\n margin-right: -0.5rem;\n}\n\n.popover-dialog--settings ul li input[type=\"checkbox\"] {\n margin: 0.15rem 0.5rem 0 0;\n}\n\n.popover-dialog--settings ul li label {\n display: flex;\n flex: 1;\n margin: 0;\n padding: 0.75rem;\n cursor: pointer;\n}\n\n.popover-dialog--settings fieldset {\n border: 0;\n padding: 0;\n margin: 0;\n border-radius: 0;\n}\n\n.popover-dialog--settings fieldset legend {\n padding: 0.5rem 0.75rem 0 0.75rem;\n font-weight: 500;\n}\n\n.empty-history-button {\n width: calc(100% - 1.5rem);\n margin: 0.75rem 0 0.75rem 0.75rem;\n background-color: var(--error-color) !important;\n color: var(--empty-history-button-color);\n}\n\n/* Tab group */\na-tab-group:not(:defined) {\n display: none;\n}\n\na-tab-group::part(tabs) {\n border-radius: var(--border-radius);\n padding: 0;\n}\n\na-tab {\n display: flex;\n flex: 1;\n}\n\na-tab:nth-of-type(1) {\n border-start-start-radius: var(--border-radius);\n border-end-start-radius: var(--border-radius);\n}\n\na-tab:last-of-type {\n border-start-end-radius: var(--border-radius);\n border-end-end-radius: var(--border-radius);\n}\n\na-tab::part(base) {\n flex: 1;\n justify-content: center;\n padding: 0.5rem 0.75rem;\n background-color: var(--background);\n transition: background-color var(--animation-duration) ease-in-out, color var(--animation-duration) ease-in-out;\n}\n\na-tab:focus-visible {\n outline: 0.125rem solid var(--text-main);\n outline-offset: -0.125rem;\n}\n\na-tab[selected]::part(base) {\n background-color: var(--accent);\n color: var(--background-body);\n}\n\n/* Utils */\n.visually-hidden {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.text-underline {\n text-decoration: underline !important;\n}\n\n/* Media queries */\n@media (min-width: 37.5rem) {\n h1 {\n font-size: 2rem;\n }\n\n .scan-instructions p {\n max-width: none;\n }\n\n capture-photo {\n max-width: var(--container-max-width);\n }\n\n .global-actions button span {\n display: inline;\n }\n}\n\n@media (min-height: 43.75rem) {\n header {\n margin: 3rem 0;\n }\n}\n\n@media screen and (max-width: 20rem) {\n a-tab span {\n font-size: 0.9rem;\n }\n\n a-tab svg {\n display: none;\n }\n}\n"],"names":[],"version":3,"file":"index.aabcad04.css.map"} \ No newline at end of file diff --git a/index.html b/index.html index f6bdeed..157f5a7 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Barcode/QR code Scanner
History
Settings
When barcode is found...
Use webcam
Switch camera
Use image Click or drop an image to scan

\ No newline at end of file +Barcode/QR code Scanner
History
Settings
When barcode is found...
Use webcam
Switch camera
Use image Click or drop an image to scan

\ No newline at end of file diff --git a/service-worker.js b/service-worker.js index 86c119e..5d80f76 100644 --- a/service-worker.js +++ b/service-worker.js @@ -1,2 +1,2 @@ -if(!self.define){let e,d={};const i=(i,c)=>(i=new URL(i+".js",c).href,d[i]||new Promise((d=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=d,document.head.appendChild(e)}else e=i,importScripts(i),d()})).then((()=>{let e=d[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(c,n)=>{const r=e||("document"in self?document.currentScript.src:"")||location.href;if(d[r])return;let a={};const s=e=>i(e,r),b={module:{uri:r},exports:a,require:s};d[r]=Promise.all(c.map((e=>b[e]||s(e)))).then((e=>(n(...e),a)))}}define(["./workbox-1c3383c2"],(function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"apple-touch-icon.cbfc4d72.png",revision:"032bc7d807514f1eb6efb000f9fdff26"},{url:"camera-scanner.42ef82b0.png",revision:"6379ba2fd5e1e6b16874979a282077b8"},{url:"es.b356f8c4.js",revision:"c604c793c32119ed7fa74432c0d831ba"},{url:"es.b356f8c4.js.map",revision:"70f46172db2399ee66dc64cc6c5de326"},{url:"es.d8418a5f.js",revision:"0ab9f2844895f6e2cbf5a7f0857ba6a2"},{url:"es.d8418a5f.js.map",revision:"bd445899dfa18e2edd9df27d87424691"},{url:"favicon.a05bdb0a.ico",revision:"ece89efb9e6bf43b4a1a4bddc3e6c0ee"},{url:"icon-large.cd373832.png",revision:"52b2012c4056f0da66ea3ed518dd8e10"},{url:"icon-medium.ede1e868.png",revision:"03ee967b5d869e1ae1e8e63ed13edbf2"},{url:"icon-small.81a93e10.png",revision:"70955d3c62fbbfeec3ce088f908d6f57"},{url:"image-scanner.82276613.png",revision:"c878ced18794653941259faa24e9d41c"},{url:"index.1ba03a9b.js",revision:"e4503cace872bbd7336724926dd3fdd6"},{url:"index.1ba03a9b.js.map",revision:"e1db0815691f8bcd5a76d96d1b82bda6"},{url:"index.2dd8866f.js",revision:"9ad1f7de54a540b641351b43d3274c40"},{url:"index.2dd8866f.js.map",revision:"323d95f850f6d217b50cbb49c4429978"},{url:"index.8d5422dc.css",revision:"d5eb863ebc30eff4ba7639e806d443ae"},{url:"index.8d5422dc.css.map",revision:"930221731984190b1a772153acc619cd"},{url:"index.98a7b582.js",revision:"3fa2ad8d96c4c904414f858a549cdb14"},{url:"index.98a7b582.js.map",revision:"075a517ce0210c3eb84f9da7e2f21645"},{url:"index.bb1ce697.js",revision:"82f689cbc7405307d1eb42c297e81360"},{url:"index.bb1ce697.js.map",revision:"a581e787ac4468ce653d4028ea2d6f76"},{url:"index.html",revision:"d4cc985c1a1966affa39f9bc90d8b04c"},{url:"index.runtime.2dbcb896.js",revision:"94a9bb673865333dfe6342218619410d"},{url:"index.runtime.2dbcb896.js.map",revision:"b2852297f58dcb6438a29cce5c940649"},{url:"index.runtime.cb3029e6.js",revision:"3acab279cd1e39a3beab814aac6a1229"},{url:"index.runtime.cb3029e6.js.map",revision:"cdc9926594f55eae9e78de5931d99011"},{url:"manifest.webmanifest",revision:"d7bd1470f20cc3f518b91def065661ae"},{url:"spinner-light.4452ed29.svg",revision:"609c6274c68c19f6badaf5488b6aeef2"}],{})})); +if(!self.define){let e,d={};const i=(i,c)=>(i=new URL(i+".js",c).href,d[i]||new Promise((d=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=d,document.head.appendChild(e)}else e=i,importScripts(i),d()})).then((()=>{let e=d[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(c,a)=>{const n=e||("document"in self?document.currentScript.src:"")||location.href;if(d[n])return;let r={};const b=e=>i(e,n),s={module:{uri:n},exports:r,require:b};d[n]=Promise.all(c.map((e=>s[e]||b(e)))).then((e=>(a(...e),r)))}}define(["./workbox-1c3383c2"],(function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"apple-touch-icon.cbfc4d72.png",revision:"032bc7d807514f1eb6efb000f9fdff26"},{url:"camera-scanner.42ef82b0.png",revision:"6379ba2fd5e1e6b16874979a282077b8"},{url:"es.b356f8c4.js",revision:"c604c793c32119ed7fa74432c0d831ba"},{url:"es.b356f8c4.js.map",revision:"70f46172db2399ee66dc64cc6c5de326"},{url:"es.d8418a5f.js",revision:"0ab9f2844895f6e2cbf5a7f0857ba6a2"},{url:"es.d8418a5f.js.map",revision:"bd445899dfa18e2edd9df27d87424691"},{url:"favicon.a05bdb0a.ico",revision:"ece89efb9e6bf43b4a1a4bddc3e6c0ee"},{url:"icon-large.cd373832.png",revision:"52b2012c4056f0da66ea3ed518dd8e10"},{url:"icon-medium.ede1e868.png",revision:"03ee967b5d869e1ae1e8e63ed13edbf2"},{url:"icon-small.81a93e10.png",revision:"70955d3c62fbbfeec3ce088f908d6f57"},{url:"image-scanner.82276613.png",revision:"c878ced18794653941259faa24e9d41c"},{url:"index.1ba03a9b.js",revision:"e4503cace872bbd7336724926dd3fdd6"},{url:"index.1ba03a9b.js.map",revision:"e1db0815691f8bcd5a76d96d1b82bda6"},{url:"index.2dd8866f.js",revision:"9ad1f7de54a540b641351b43d3274c40"},{url:"index.2dd8866f.js.map",revision:"323d95f850f6d217b50cbb49c4429978"},{url:"index.98a7b582.js",revision:"3fa2ad8d96c4c904414f858a549cdb14"},{url:"index.98a7b582.js.map",revision:"075a517ce0210c3eb84f9da7e2f21645"},{url:"index.aabcad04.css",revision:"1303adf165aa3bf7abd15a5e77c9abb9"},{url:"index.aabcad04.css.map",revision:"8c3302d95d12e6c05b91adc9683e1265"},{url:"index.bb1ce697.js",revision:"82f689cbc7405307d1eb42c297e81360"},{url:"index.bb1ce697.js.map",revision:"a581e787ac4468ce653d4028ea2d6f76"},{url:"index.html",revision:"6eb45f50446cba25b677ca1a0e5931de"},{url:"index.runtime.2dbcb896.js",revision:"94a9bb673865333dfe6342218619410d"},{url:"index.runtime.2dbcb896.js.map",revision:"b2852297f58dcb6438a29cce5c940649"},{url:"index.runtime.cb3029e6.js",revision:"3acab279cd1e39a3beab814aac6a1229"},{url:"index.runtime.cb3029e6.js.map",revision:"cdc9926594f55eae9e78de5931d99011"},{url:"manifest.webmanifest",revision:"d7bd1470f20cc3f518b91def065661ae"},{url:"spinner-light.4452ed29.svg",revision:"609c6274c68c19f6badaf5488b6aeef2"}],{})})); //# sourceMappingURL=service-worker.js.map diff --git a/service-worker.js.map b/service-worker.js.map index 4ec03f0..319453b 100644 --- a/service-worker.js.map +++ b/service-worker.js.map @@ -1 +1 @@ -{"version":3,"file":"service-worker.js","sources":["../../../../../private/var/folders/zx/dmx9cv356r96j_n2br2yf6j80000gn/T/e6c71941ed6ba2c635c72d7f75b3c960/service-worker.js"],"sourcesContent":["import {clientsClaim as workbox_core_clientsClaim} from '/Users/georgeraptis/Projects/personal/barcode-scanner/node_modules/workbox-core/clientsClaim.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/Users/georgeraptis/Projects/personal/barcode-scanner/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"apple-touch-icon.cbfc4d72.png\",\n \"revision\": \"032bc7d807514f1eb6efb000f9fdff26\"\n },\n {\n \"url\": \"camera-scanner.42ef82b0.png\",\n \"revision\": \"6379ba2fd5e1e6b16874979a282077b8\"\n },\n {\n \"url\": \"es.b356f8c4.js\",\n \"revision\": \"c604c793c32119ed7fa74432c0d831ba\"\n },\n {\n \"url\": \"es.b356f8c4.js.map\",\n \"revision\": \"70f46172db2399ee66dc64cc6c5de326\"\n },\n {\n \"url\": \"es.d8418a5f.js\",\n \"revision\": \"0ab9f2844895f6e2cbf5a7f0857ba6a2\"\n },\n {\n \"url\": \"es.d8418a5f.js.map\",\n \"revision\": \"bd445899dfa18e2edd9df27d87424691\"\n },\n {\n \"url\": \"favicon.a05bdb0a.ico\",\n \"revision\": \"ece89efb9e6bf43b4a1a4bddc3e6c0ee\"\n },\n {\n \"url\": \"icon-large.cd373832.png\",\n \"revision\": \"52b2012c4056f0da66ea3ed518dd8e10\"\n },\n {\n \"url\": \"icon-medium.ede1e868.png\",\n \"revision\": \"03ee967b5d869e1ae1e8e63ed13edbf2\"\n },\n {\n \"url\": \"icon-small.81a93e10.png\",\n \"revision\": \"70955d3c62fbbfeec3ce088f908d6f57\"\n },\n {\n \"url\": \"image-scanner.82276613.png\",\n \"revision\": \"c878ced18794653941259faa24e9d41c\"\n },\n {\n \"url\": \"index.1ba03a9b.js\",\n \"revision\": \"e4503cace872bbd7336724926dd3fdd6\"\n },\n {\n \"url\": \"index.1ba03a9b.js.map\",\n \"revision\": \"e1db0815691f8bcd5a76d96d1b82bda6\"\n },\n {\n \"url\": \"index.2dd8866f.js\",\n \"revision\": \"9ad1f7de54a540b641351b43d3274c40\"\n },\n {\n \"url\": \"index.2dd8866f.js.map\",\n \"revision\": \"323d95f850f6d217b50cbb49c4429978\"\n },\n {\n \"url\": \"index.8d5422dc.css\",\n \"revision\": \"d5eb863ebc30eff4ba7639e806d443ae\"\n },\n {\n \"url\": \"index.8d5422dc.css.map\",\n \"revision\": \"930221731984190b1a772153acc619cd\"\n },\n {\n \"url\": \"index.98a7b582.js\",\n \"revision\": \"3fa2ad8d96c4c904414f858a549cdb14\"\n },\n {\n \"url\": \"index.98a7b582.js.map\",\n \"revision\": \"075a517ce0210c3eb84f9da7e2f21645\"\n },\n {\n \"url\": \"index.bb1ce697.js\",\n \"revision\": \"82f689cbc7405307d1eb42c297e81360\"\n },\n {\n \"url\": \"index.bb1ce697.js.map\",\n \"revision\": \"a581e787ac4468ce653d4028ea2d6f76\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"d4cc985c1a1966affa39f9bc90d8b04c\"\n },\n {\n \"url\": \"index.runtime.2dbcb896.js\",\n \"revision\": \"94a9bb673865333dfe6342218619410d\"\n },\n {\n \"url\": \"index.runtime.2dbcb896.js.map\",\n \"revision\": \"b2852297f58dcb6438a29cce5c940649\"\n },\n {\n \"url\": \"index.runtime.cb3029e6.js\",\n \"revision\": \"3acab279cd1e39a3beab814aac6a1229\"\n },\n {\n \"url\": \"index.runtime.cb3029e6.js.map\",\n \"revision\": \"cdc9926594f55eae9e78de5931d99011\"\n },\n {\n \"url\": \"manifest.webmanifest\",\n \"revision\": \"d7bd1470f20cc3f518b91def065661ae\"\n },\n {\n \"url\": \"spinner-light.4452ed29.svg\",\n \"revision\": \"609c6274c68c19f6badaf5488b6aeef2\"\n }\n], {});\n\n\n\n\n\n\n\n\n"],"names":["self","skipWaiting","workbox_core_clientsClaim","workbox_precaching_precacheAndRoute","url","revision"],"mappings":"0nBAoBAA,KAAKC,cAELC,EAAAA,eAQAC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,qCAEb,CAAA"} \ No newline at end of file +{"version":3,"file":"service-worker.js","sources":["../../../../../private/var/folders/zx/dmx9cv356r96j_n2br2yf6j80000gn/T/0be1b98dfcf72ffc665ed17a1a1ea4e2/service-worker.js"],"sourcesContent":["import {clientsClaim as workbox_core_clientsClaim} from '/Users/georgeraptis/Projects/personal/barcode-scanner/node_modules/workbox-core/clientsClaim.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/Users/georgeraptis/Projects/personal/barcode-scanner/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"apple-touch-icon.cbfc4d72.png\",\n \"revision\": \"032bc7d807514f1eb6efb000f9fdff26\"\n },\n {\n \"url\": \"camera-scanner.42ef82b0.png\",\n \"revision\": \"6379ba2fd5e1e6b16874979a282077b8\"\n },\n {\n \"url\": \"es.b356f8c4.js\",\n \"revision\": \"c604c793c32119ed7fa74432c0d831ba\"\n },\n {\n \"url\": \"es.b356f8c4.js.map\",\n \"revision\": \"70f46172db2399ee66dc64cc6c5de326\"\n },\n {\n \"url\": \"es.d8418a5f.js\",\n \"revision\": \"0ab9f2844895f6e2cbf5a7f0857ba6a2\"\n },\n {\n \"url\": \"es.d8418a5f.js.map\",\n \"revision\": \"bd445899dfa18e2edd9df27d87424691\"\n },\n {\n \"url\": \"favicon.a05bdb0a.ico\",\n \"revision\": \"ece89efb9e6bf43b4a1a4bddc3e6c0ee\"\n },\n {\n \"url\": \"icon-large.cd373832.png\",\n \"revision\": \"52b2012c4056f0da66ea3ed518dd8e10\"\n },\n {\n \"url\": \"icon-medium.ede1e868.png\",\n \"revision\": \"03ee967b5d869e1ae1e8e63ed13edbf2\"\n },\n {\n \"url\": \"icon-small.81a93e10.png\",\n \"revision\": \"70955d3c62fbbfeec3ce088f908d6f57\"\n },\n {\n \"url\": \"image-scanner.82276613.png\",\n \"revision\": \"c878ced18794653941259faa24e9d41c\"\n },\n {\n \"url\": \"index.1ba03a9b.js\",\n \"revision\": \"e4503cace872bbd7336724926dd3fdd6\"\n },\n {\n \"url\": \"index.1ba03a9b.js.map\",\n \"revision\": \"e1db0815691f8bcd5a76d96d1b82bda6\"\n },\n {\n \"url\": \"index.2dd8866f.js\",\n \"revision\": \"9ad1f7de54a540b641351b43d3274c40\"\n },\n {\n \"url\": \"index.2dd8866f.js.map\",\n \"revision\": \"323d95f850f6d217b50cbb49c4429978\"\n },\n {\n \"url\": \"index.98a7b582.js\",\n \"revision\": \"3fa2ad8d96c4c904414f858a549cdb14\"\n },\n {\n \"url\": \"index.98a7b582.js.map\",\n \"revision\": \"075a517ce0210c3eb84f9da7e2f21645\"\n },\n {\n \"url\": \"index.aabcad04.css\",\n \"revision\": \"1303adf165aa3bf7abd15a5e77c9abb9\"\n },\n {\n \"url\": \"index.aabcad04.css.map\",\n \"revision\": \"8c3302d95d12e6c05b91adc9683e1265\"\n },\n {\n \"url\": \"index.bb1ce697.js\",\n \"revision\": \"82f689cbc7405307d1eb42c297e81360\"\n },\n {\n \"url\": \"index.bb1ce697.js.map\",\n \"revision\": \"a581e787ac4468ce653d4028ea2d6f76\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"6eb45f50446cba25b677ca1a0e5931de\"\n },\n {\n \"url\": \"index.runtime.2dbcb896.js\",\n \"revision\": \"94a9bb673865333dfe6342218619410d\"\n },\n {\n \"url\": \"index.runtime.2dbcb896.js.map\",\n \"revision\": \"b2852297f58dcb6438a29cce5c940649\"\n },\n {\n \"url\": \"index.runtime.cb3029e6.js\",\n \"revision\": \"3acab279cd1e39a3beab814aac6a1229\"\n },\n {\n \"url\": \"index.runtime.cb3029e6.js.map\",\n \"revision\": \"cdc9926594f55eae9e78de5931d99011\"\n },\n {\n \"url\": \"manifest.webmanifest\",\n \"revision\": \"d7bd1470f20cc3f518b91def065661ae\"\n },\n {\n \"url\": \"spinner-light.4452ed29.svg\",\n \"revision\": \"609c6274c68c19f6badaf5488b6aeef2\"\n }\n], {});\n\n\n\n\n\n\n\n\n"],"names":["self","skipWaiting","workbox_core_clientsClaim","workbox_precaching_precacheAndRoute","url","revision"],"mappings":"0nBAoBAA,KAAKC,cAELC,EAAAA,eAQAC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,qCAEb,CAAA"} \ No newline at end of file