@media (max-width:768px){.button,.clickable,button{min-height:44px}h1{font-size:1.5rem!important}h2{font-size:1.25rem!important}body,html{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}main{padding-bottom:calc(1rem + env(safe-area-inset-bottom))!important}input,select,textarea{font-size:16px!important}}.has-safe-area-padding{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}@media (max-width:768px){.card,.rounded-lg{border-radius:12px!important}.button:active,.clickable:active,button:active{transform:scale(.98)}}@media (min-width:1024px){h1{font-size:2.5rem;line-height:1.2}h2{font-size:2rem;line-height:1.3}.container{max-width:1280px;margin:0 auto;padding:0 2rem}.desktop-spacing{padding:2rem 4rem}.desktop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.btn-desktop{padding:.75rem 1.5rem;font-size:1rem}input,select,textarea{font-size:1rem;padding:.75rem 1rem}.card{padding:2rem;border-radius:1rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}nav{height:4rem;padding:0 2rem}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:5px}::-webkit-scrollbar-thumb{background:#888;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#555}}.scanner-desktop{--scanner-max-width:1024px;--scanner-padding:2rem;--scanner-heading-size:1.75rem;--scanner-text-size:1.125rem}@media (min-width:1024px){.scanner-container{display:grid;grid-template-columns:300px 1fr;gap:2rem;max-width:var(--scanner-max-width);margin:0 auto;padding:var(--scanner-padding);min-height:calc(100vh - 4rem)}.scanner-main{background-color:var(--background);border-radius:1rem;padding:2rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.scanner-controls{position:sticky;top:2rem;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background-color:var(--card);border-radius:.75rem;border:1px solid var(--border)}.scanner-viewport{aspect-ratio:4/3;max-height:600px;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.scanner-header{margin-bottom:2rem}.scanner-title{font-size:var(--scanner-heading-size);font-weight:600;color:var(--foreground);margin-bottom:.5rem}.scanner-instruction{font-size:var(--scanner-text-size);color:var(--muted-foreground);max-width:60ch}.scanner-buttons{display:flex;gap:1rem;margin-top:1.5rem}.scanner-button{padding:.75rem 1.5rem;font-size:1rem;min-width:120px}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-inter:"Inter","Inter Fallback"}@media (max-width:640px){.mobile-compact-padding{padding:.5rem!important}.mobile-compact-gap{gap:.5rem!important}.mobile-smaller-text{font-size:.875rem!important}.mobile-smaller-heading{font-size:1rem!important}.mobile-compact-card{margin-bottom:.5rem!important}.mobile-no-whitespace{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.mobile-tight-container{padding-top:.25rem!important;padding-bottom:.25rem!important}.mobile-max-height{max-height:calc(100vh - 8rem)!important;overflow-y:auto!important}.mobile-sticky-header{position:sticky!important;top:0!important;z-index:10!important;background-color:inherit!important}}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.py-compact{padding-top:.25rem!important;padding-bottom:.25rem!important}.px-compact{padding-left:.5rem!important;padding-right:.5rem!important}.gap-compact{gap:.5rem!important}body.pull-to-refresh-active{transition:transform .3s ease-out}.pull-to-refresh-container{overflow-y:auto;-webkit-overflow-scrolling:touch}.pull-to-refresh-container::-webkit-scrollbar{width:4px}.pull-to-refresh-container::-webkit-scrollbar-track{background:transparent}.pull-to-refresh-container::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:2px}.pull-to-refresh-container::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.3)}.pull-indicator{transform-origin:center;transition:all .2s ease-out}.pull-indicator.pulling{animation:pullPulse 1s ease-in-out infinite}.pull-indicator.can-refresh{animation:pullReady .5s ease-in-out}.pull-indicator.refreshing{animation:pullSpin 1s linear infinite}@keyframes pullPulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.1);opacity:1}}@keyframes pullReady{0%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.2) rotate(180deg)}to{transform:scale(1) rotate(180deg)}}@keyframes pullSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pull-progress-bar{transition:width .2s ease-out}@media (max-width:768px){.pull-to-refresh-container{touch-action:pan-y}.pull-indicator{min-height:60px;min-width:60px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}@media (prefers-color-scheme:dark){.pull-indicator{background:rgba(0,0,0,.8);border-color:rgba(255,255,255,.2)}.pull-progress-bar{background:rgba(255,255,255,.1)}.pull-progress-bar .fill{background:#3b82f6}}@media (prefers-reduced-motion:reduce){.pull-indicator,.pull-progress-bar,body.pull-to-refresh-active{animation:none!important;transition:none!important}}@media (prefers-contrast:high){.pull-indicator{border:2px solid;background:white;color:black}.pull-progress-bar .fill{background:black}}