/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#eee;--color-neutral-300:#e0e0e0;--color-neutral-400:#bdbdbd;--color-neutral-500:#9e9e9e;--color-neutral-600:#757575;--color-neutral-700:#616161;--color-neutral-800:#424242;--color-neutral-900:#212121;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary-50:#e3f2fd;--color-primary-100:#bbdefb;--color-primary-300:#64b5f6;--color-primary-400:#42a5f5;--color-primary-500:#2196f3;--color-primary-600:#1e88e5;--color-primary-700:#1976d2;--color-primary-800:#1565c0;--color-success-50:#e8f5e9;--color-success-100:#c8e6c9;--color-success-300:#81c784;--color-success-400:#66bb6a;--color-success-500:#4caf50;--color-success-600:#43a047;--color-success-700:#388e3c;--color-success-800:#2e7d32;--color-error-50:#ffebee;--color-error-100:#ffcdd2;--color-error-200:#ef9a9a;--color-error-300:#e57373;--color-error-400:#ef5350;--color-error-500:#f44336;--color-error-600:#e53935;--color-error-700:#d32f2f;--color-error-800:#c62828;--color-warning-50:#fff3e0;--color-warning-100:#ffe0b2;--color-warning-300:#ffb74d;--color-warning-400:#ffa726;--color-warning-500:#ff9800;--color-warning-600:#fb8c00;--color-warning-700:#f57c00;--color-warning-800:#ef6c00;--color-warning-900:#e65100;--color-dark-bg:#242424;--color-dark-surface:#1a1a1a;--color-dark-elevated:#2a2a2a}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--background:0 0% 100%;--foreground:210 11% 15%;--card:0 0% 100%;--card-foreground:210 11% 15%;--popover:0 0% 100%;--popover-foreground:210 11% 15%;--primary:211 100% 50%;--primary-foreground:0 0% 100%;--secondary:210 40% 96%;--secondary-foreground:210 11% 15%;--muted:210 40% 96%;--muted-foreground:215 16% 47%;--accent:210 40% 96%;--accent-foreground:210 11% 15%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--border:214 32% 91%;--input:214 32% 91%;--ring:211 100% 50%;--chart-1:211 100% 50%;--chart-2:152 69% 47%;--chart-3:36 100% 50%;--chart-4:0 84% 60%;--chart-5:280 67% 51%;--sidebar:0 0% 98%;--sidebar-foreground:210 11% 15%;--sidebar-primary:211 100% 50%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:210 40% 96%;--sidebar-accent-foreground:210 11% 15%;--sidebar-border:214 32% 91%;--sidebar-ring:211 100% 50%;--radius:.5rem;font-family:var(--font-sans);color-scheme:light dark;--color-text-primary:#213547;--color-text-secondary:#4a4a4a;--color-text-muted:#757575;--color-bg-primary:#fff;--color-bg-secondary:#f9f9f9;--color-link:#646cff;--color-link-hover:#747bff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}.dark{--background:210 11% 11%;--foreground:0 0% 98%;--card:210 11% 13%;--card-foreground:0 0% 98%;--popover:210 11% 13%;--popover-foreground:0 0% 98%;--primary:211 100% 50%;--primary-foreground:0 0% 100%;--secondary:215 28% 17%;--secondary-foreground:0 0% 98%;--muted:215 28% 17%;--muted-foreground:215 20% 65%;--accent:215 28% 17%;--accent-foreground:0 0% 98%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--border:215 28% 17%;--input:215 28% 17%;--ring:211 100% 50%;--chart-1:211 100% 60%;--chart-2:152 69% 55%;--chart-3:36 100% 55%;--chart-4:0 84% 65%;--chart-5:280 67% 60%;--sidebar:210 11% 13%;--sidebar-foreground:0 0% 98%;--sidebar-primary:211 100% 50%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:215 28% 17%;--sidebar-accent-foreground:0 0% 98%;--sidebar-border:215 28% 17%;--sidebar-ring:211 100% 50%;--color-text-primary:#ffffffde;--color-text-secondary:#b0b0b0;--color-text-muted:#9e9e9e;--color-bg-primary:#242424;--color-bg-secondary:#1a1a1a;--color-link:#646cff;--color-link-hover:#535bf2}@media(prefers-color-scheme:dark){:root:not(.light){--background:210 11% 11%;--foreground:0 0% 98%;--card:210 11% 13%;--card-foreground:0 0% 98%;--popover:210 11% 13%;--popover-foreground:0 0% 98%;--primary:211 100% 50%;--primary-foreground:0 0% 100%;--secondary:215 28% 17%;--secondary-foreground:0 0% 98%;--muted:215 28% 17%;--muted-foreground:215 20% 65%;--accent:215 28% 17%;--accent-foreground:0 0% 98%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--border:215 28% 17%;--input:215 28% 17%;--ring:211 100% 50%;--chart-1:211 100% 60%;--chart-2:152 69% 55%;--chart-3:36 100% 55%;--chart-4:0 84% 65%;--chart-5:280 67% 60%;--sidebar:210 11% 13%;--sidebar-foreground:0 0% 98%;--sidebar-primary:211 100% 50%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:215 28% 17%;--sidebar-accent-foreground:0 0% 98%;--sidebar-border:215 28% 17%;--sidebar-ring:211 100% 50%;--color-text-primary:#ffffffde;--color-text-secondary:#b0b0b0;--color-text-muted:#9e9e9e;--color-bg-primary:#242424;--color-bg-secondary:#1a1a1a;--color-link:#646cff;--color-link-hover:#535bf2}}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.w-9{width:calc(var(--spacing)*9)}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[hsl\(var\(--input\)\)\]{border-color:hsl(var(--input))}.bg-\[hsl\(var\(--background\)\)\]{background-color:hsl(var(--background))}.bg-\[hsl\(var\(--destructive\)\)\]{background-color:hsl(var(--destructive))}.bg-\[hsl\(var\(--primary\)\)\]{background-color:hsl(var(--primary))}.bg-\[hsl\(var\(--secondary\)\)\]{background-color:hsl(var(--secondary))}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-\[hsl\(var\(--destructive-foreground\)\)\]{color:hsl(var(--destructive-foreground))}.text-\[hsl\(var\(--primary\)\)\]{color:hsl(var(--primary))}.text-\[hsl\(var\(--primary-foreground\)\)\]{color:hsl(var(--primary-foreground))}.text-\[hsl\(var\(--secondary-foreground\)\)\]{color:hsl(var(--secondary-foreground))}.underline-offset-4{text-underline-offset:4px}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.hover\:bg-\[hsl\(var\(--accent\)\)\]:hover{background-color:hsl(var(--accent))}.hover\:bg-\[hsl\(var\(--destructive\)\)\]\/90:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[hsl\(var\(--destructive\)\)\]\/90:hover{background-color:color-mix(in oklab,hsl(var(--destructive))90%,transparent)}}.hover\:bg-\[hsl\(var\(--primary\)\)\]\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[hsl\(var\(--primary\)\)\]\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary))90%,transparent)}}.hover\:bg-\[hsl\(var\(--secondary\)\)\]\/80:hover{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[hsl\(var\(--secondary\)\)\]\/80:hover{background-color:color-mix(in oklab,hsl(var(--secondary))80%,transparent)}}.hover\:text-\[hsl\(var\(--accent-foreground\)\)\]:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}html{color:var(--color-text-primary);background-color:var(--color-bg-primary);height:100%;overflow:hidden}body{touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;flex-direction:column;width:100%;min-width:320px;height:100%;min-height:100dvh;margin:0;display:flex;position:fixed;overflow:hidden}#root{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}h1{font-size:3.2em;line-height:1.1}h2{font-size:1.5rem;font-weight:600}h3{font-size:1.25rem;font-weight:500}a{color:var(--color-link);font-weight:500;text-decoration:none}a:hover{color:var(--color-link-hover)}button{background-color:var(--color-bg-secondary);cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:all .2s}button:hover{border-color:var(--color-primary-700)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}button:disabled{opacity:.7;cursor:not-allowed}.btn-primary{background-color:var(--color-primary-700);color:#fff;border-color:#0000}.btn-primary:hover{background-color:var(--color-primary-800)}.btn-success{background-color:var(--color-success-500);color:#fff;border-color:#0000}.btn-success:hover{background-color:var(--color-success-600)}.btn-danger{background-color:var(--color-error-700);color:#fff;border-color:#0000}.btn-danger:hover{background-color:var(--color-error-800)}.btn-icon{border-radius:9999px;justify-content:center;align-items:center;padding:.75rem;display:flex}.status-indicator{border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.status-indicator--success{background-color:var(--color-success-50);color:var(--color-success-800)}.status-indicator--error{background-color:var(--color-error-50);color:var(--color-error-800)}.status-indicator--warning{background-color:var(--color-warning-50);color:var(--color-warning-900)}.status-indicator--info{background-color:var(--color-primary-50);color:var(--color-primary-700)}@media(prefers-color-scheme:dark){.status-indicator--success{color:var(--color-success-300);background-color:#4caf5033}.status-indicator--error{color:var(--color-error-200);background-color:#f4433633}.status-indicator--warning{color:var(--color-warning-300);background-color:#ff980033}.status-indicator--info{color:var(--color-primary-300);background-color:#1976d233}}.card{border-radius:var(--radius-md);background-color:#fff;padding:1rem;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}@media(prefers-color-scheme:dark){.card{background-color:var(--color-dark-elevated)}}.spinner{border:3px solid #0000001a;border-top-color:var(--color-primary-700);border-radius:9999px;width:1.5rem;height:1.5rem;animation:.8s linear infinite spin}.spinner--white{border-color:#fff #ffffff4d #ffffff4d}.spinner--success{border-color:#fff3;border-top-color:var(--color-success-500)}.live-indicator{background-color:var(--color-success-500);border-radius:9999px;width:.5rem;height:.5rem;animation:1.5s ease-in-out infinite pulse}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.bg-app{background-color:var(--color-bg-primary)}.bg-surface{background-color:var(--color-bg-secondary)}.pb-safe{padding-bottom:env(safe-area-inset-bottom)}.pt-safe{padding-top:env(safe-area-inset-top)}.animate-scan{animation:2s linear infinite scan}.gradient-overlay-top{background:linear-gradient(#00000080,#0000)}.gradient-scan-line{background:linear-gradient(90deg,transparent,var(--color-success-500),transparent)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}.camera-permission{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;max-width:400px;margin:0 auto}.camera-permission h2{margin:1rem 0 .5rem;font-size:1.5rem;color:#1a1a1a}.camera-permission p{margin:.5rem 0;color:#4a4a4a;line-height:1.5}.camera-permission__icon{width:80px;height:80px;padding:1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.camera-permission__icon svg{width:100%;height:100%}.camera-permission__icon--prompt{background-color:#e3f2fd;color:#1976d2}.camera-permission__icon--error,.camera-permission__icon--denied{background-color:#ffebee;color:#d32f2f}.camera-permission__button{padding:.875rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;min-width:200px;margin-top:1.5rem}.camera-permission__button:disabled{opacity:.7;cursor:not-allowed}.camera-permission__button--request{background-color:#1976d2;color:#fff}.camera-permission__button--request:hover:not(:disabled){background-color:#1565c0}.camera-permission__button--stop{background-color:#d32f2f;color:#fff}.camera-permission__button--stop:hover:not(:disabled){background-color:#c62828}.camera-permission__spinner,.camera-permission__button-spinner{width:24px;height:24px;border:3px solid rgba(0,0,0,.1);border-top-color:#1976d2;border-radius:50%;animation:spin .8s linear infinite}.camera-permission__button-spinner{width:18px;height:18px;border-width:2px;border-color:#ffffff4d;border-top-color:#fff}.camera-permission--loading{padding:3rem}.camera-permission--loading p{margin-top:1rem}.camera-permission__instructions{text-align:left;margin:1rem 0;padding-left:1.5rem;color:#4a4a4a}.camera-permission__instructions li{margin:.5rem 0}.camera-permission__error-message{color:#d32f2f;font-size:.875rem;background-color:#ffebee;padding:.75rem 1rem;border-radius:8px;margin:1rem 0;width:100%}.camera-permission__hint{font-size:.875rem;color:#757575;margin-top:1rem}.camera-permission--active{max-width:100%;padding:1rem}.camera-permission__preview{position:relative;width:100%;max-width:640px;border-radius:12px;overflow:hidden;background-color:#000}.camera-permission__video{width:100%;display:block}.camera-permission__overlay{position:absolute;top:0;left:0;right:0;padding:.5rem;background:linear-gradient(to bottom,rgba(0,0,0,.5),transparent)}.camera-permission__status{color:#fff;font-size:.875rem;margin:0;display:flex;align-items:center;gap:.5rem}.camera-permission__status:before{content:"";width:8px;height:8px;background-color:#4caf50;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@media(prefers-color-scheme:dark){.camera-permission h2{color:#f5f5f5}.camera-permission p{color:#b0b0b0}.camera-permission__icon--prompt{background-color:#1976d233}.camera-permission__icon--error,.camera-permission__icon--denied{background-color:#d32f2f33}.camera-permission__instructions{color:#b0b0b0}.camera-permission__error-message{background-color:#d32f2f33}.camera-permission__hint{color:#9e9e9e}}.camera-permission__user-message{color:#4a4a4a;line-height:1.6;margin:.5rem 0 1rem}.camera-permission__recovery-actions{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:280px;margin:1rem 0}.camera-permission__button--primary{background-color:#1976d2;color:#fff}.camera-permission__button--primary:hover:not(:disabled){background-color:#1565c0}.camera-permission__button--secondary{background-color:#f5f5f5;color:#424242}.camera-permission__button--secondary:hover:not(:disabled){background-color:#eee}.camera-permission__instructions-hint{width:100%;margin-top:1rem;text-align:left}.camera-permission__instructions-hint summary{cursor:pointer;font-size:.875rem;color:#757575;padding:.5rem 0;-webkit-user-select:none;user-select:none}.camera-permission__instructions-hint summary:hover{color:#1976d2}.camera-permission__recovery-hint{text-align:left;margin-top:1.5rem;padding:1rem;background-color:#fafafa;border-radius:8px;font-size:.875rem}.camera-permission__recovery-hint strong{display:block;margin-bottom:.5rem;color:#424242}.camera-permission__recovery-hint ul,.camera-permission__recovery-hint ol{margin:0;padding-left:1.25rem;color:#616161}.camera-permission__recovery-hint li{margin:.375rem 0}.camera-permission__error-box{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;width:100%;padding:1rem;background-color:#ffebee;border-radius:8px;border-left:4px solid #d32f2f;margin:1rem 0;text-align:left}.camera-permission__error-icon-small{width:20px;height:20px;color:#d32f2f}.camera-permission__error-icon-small svg{width:100%;height:100%}.camera-permission__error-text{margin:0;font-size:.875rem;color:#b71c1c;line-height:1.5}.camera-permission__error-recovery{display:flex;gap:.5rem;flex-wrap:wrap}.camera-permission__error-action{padding:.375rem .75rem;font-size:.8125rem;font-weight:500;background-color:transparent;color:#c62828;border:1px solid #c62828;border-radius:4px;cursor:pointer;transition:all .2s ease}.camera-permission__error-action:hover{background-color:#c62828;color:#fff}@media(prefers-color-scheme:dark){.camera-permission__user-message{color:#b0b0b0}.camera-permission__button--secondary{background-color:#3a3a3a;color:#e0e0e0}.camera-permission__button--secondary:hover:not(:disabled){background-color:#4a4a4a}.camera-permission__instructions-hint summary{color:#9e9e9e}.camera-permission__recovery-hint{background-color:#2a2a2a}.camera-permission__recovery-hint strong{color:#e0e0e0}.camera-permission__recovery-hint ul,.camera-permission__recovery-hint ol{color:#b0b0b0}.camera-permission__error-box{background-color:#d32f2f26;border-left-color:#ef5350}.camera-permission__error-icon-small{color:#ef5350}.camera-permission__error-text{color:#ffcdd2}.camera-permission__error-action{color:#ef5350;border-color:#ef5350}.camera-permission__error-action:hover{background-color:#ef5350;color:#1a1a1a}}.qr-scanner{display:flex;flex-direction:column;align-items:center;width:100%;max-width:100%;margin:0 auto;padding:1rem}.qr-scanner__viewport{position:relative;width:100%;aspect-ratio:1;max-width:100%;border-radius:16px;overflow:hidden;background-color:#000}.qr-scanner__reader{width:100%;height:100%}.qr-scanner__reader video{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:16px}.qr-scanner__reader img{display:none}.qr-scanner__overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.qr-scanner__scan-region{position:relative;width:250px;height:250px}.qr-scanner__corner{position:absolute;width:30px;height:30px;border-color:#4caf50;border-style:solid;border-width:0}.qr-scanner__corner--tl{top:0;left:0;border-top-width:4px;border-left-width:4px;border-top-left-radius:8px}.qr-scanner__corner--tr{top:0;right:0;border-top-width:4px;border-right-width:4px;border-top-right-radius:8px}.qr-scanner__corner--bl{bottom:0;left:0;border-bottom-width:4px;border-left-width:4px;border-bottom-left-radius:8px}.qr-scanner__corner--br{bottom:0;right:0;border-bottom-width:4px;border-right-width:4px;border-bottom-right-radius:8px}.qr-scanner__scan-line{position:absolute;top:0;left:10px;right:10px;height:2px;background:linear-gradient(90deg,transparent,#4caf50,transparent);animation:scan 2s linear infinite}@keyframes scan{0%{top:10px}50%{top:calc(100% - 10px)}to{top:10px}}.qr-scanner__loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#000c;color:#fff;gap:1rem}.qr-scanner__spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.2);border-top-color:#4caf50;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.qr-scanner__error-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#000000e6;color:#fff;padding:2rem;text-align:center}.qr-scanner__error-icon{width:48px;height:48px;color:#f44336;margin-bottom:1rem}.qr-scanner__error-icon svg{width:100%;height:100%}.qr-scanner__error-message{color:#ffcdd2;margin-bottom:1rem;line-height:1.5}.qr-scanner__retry-button{padding:.75rem 1.5rem;background-color:#f44336;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.qr-scanner__retry-button:hover{background-color:#d32f2f}.qr-scanner__controls{margin-top:1.5rem;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.qr-scanner__button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.qr-scanner__button--start{background-color:#4caf50;color:#fff}.qr-scanner__button--start:hover{background-color:#43a047}.qr-scanner__button--stop{background-color:#f44336;color:#fff}.qr-scanner__button--stop:hover{background-color:#e53935}.qr-scanner__button--switch{background-color:#2196f3;color:#fff}.qr-scanner__button--switch:hover{background-color:#1976d2}.qr-scanner__button--switch:active{background-color:#1565c0;transform:scale(.98)}.qr-scanner__icon{width:20px;height:20px}.qr-scanner__result{width:100%;margin-top:1.5rem;background-color:#fff;border:1px solid var(--color-neutral-200, #eeeeee);border-radius:12px;overflow:hidden}.qr-scanner__result-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1.25rem}.qr-scanner__result-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.qr-scanner__result-item-text{font-size:.875rem;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);line-height:1.4;color:var(--color-text-primary, #213547);word-break:break-all;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.qr-scanner__result-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-text-muted, #757575)}.qr-scanner__result-item-time{color:var(--color-text-secondary, #4a4a4a)}.qr-scanner__result-item-format{padding:.125rem .375rem;background-color:var(--color-neutral-100, #f5f5f5);border-radius:4px;font-size:.6875rem;text-transform:uppercase;letter-spacing:.025em}.qr-scanner__result-item-actions{display:flex;gap:.25rem;flex-shrink:0}.qr-scanner__result-item-button{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-neutral-200, #eeeeee);border-radius:6px;padding:0;cursor:pointer;color:var(--color-text-muted, #757575);transition:all .2s ease}.qr-scanner__result-item-button svg{width:1rem;height:1rem}.qr-scanner__result-item-button:hover{background-color:var(--color-neutral-100, #f5f5f5);border-color:var(--color-neutral-300, #e0e0e0);color:var(--color-text-primary, #213547)}.qr-scanner__result-item-button:focus{outline:2px solid var(--color-primary-500, #2196f3);outline-offset:2px}.qr-scanner__result-item-button--copy:hover{color:var(--color-primary-600, #1e88e5);border-color:var(--color-primary-300, #64b5f6);background-color:var(--color-primary-50, #e3f2fd)}.qr-scanner__result-item-button--copied{color:var(--color-success-500, #4caf50);border-color:var(--color-success-300, #81c784);background-color:#4caf501a}.qr-scanner__result-item-button--call:hover{color:var(--color-success-600, #43a047);border-color:var(--color-success-300, #81c784);background-color:#4caf501a}.qr-scanner__result-item-button--sms:hover{color:var(--color-primary-600, #1e88e5);border-color:var(--color-primary-300, #64b5f6);background-color:#2196f31a}.qr-scanner__result-item-button--confirming{color:var(--color-warning-600, #f57c00);border-color:var(--color-warning-400, #ffb74d);background-color:#ff980026;animation:pulse 1s ease-in-out infinite}.qr-scanner__result-item-button--initiated{color:var(--color-success-500, #4caf50);border-color:var(--color-success-300, #81c784);background-color:#4caf501a}@media(prefers-color-scheme:dark){.qr-scanner__result{background-color:#2a2a2a;border-color:#ffffff1a}.qr-scanner__result-item-text{color:#ffffffde}.qr-scanner__result-item-time{color:#b0b0b0}.qr-scanner__result-item-format{background-color:#ffffff1a;color:#9e9e9e}.qr-scanner__result-item-button{border-color:#ffffff1a;color:#9e9e9e}.qr-scanner__result-item-button:hover{background-color:#ffffff1a;border-color:#fff3;color:#ffffffde}.qr-scanner__result-item-button--copy:hover{color:var(--color-primary-400, #42a5f5);border-color:var(--color-primary-400, #42a5f5);background-color:#2196f326}.qr-scanner__result-item-button--copied,.qr-scanner__result-item-button--call:hover{color:var(--color-success-400, #66bb6a);border-color:var(--color-success-400, #66bb6a);background-color:#4caf5026}.qr-scanner__result-item-button--sms:hover{color:var(--color-primary-400, #42a5f5);border-color:var(--color-primary-400, #42a5f5);background-color:#2196f326}.qr-scanner__result-item-button--confirming{color:var(--color-warning-400, #ffa726);border-color:var(--color-warning-400, #ffa726);background-color:#ff980033}.qr-scanner__result-item-button--initiated{color:var(--color-success-400, #66bb6a);border-color:var(--color-success-400, #66bb6a);background-color:#4caf5026}}@media(max-width:480px){.qr-scanner{padding:.5rem}.qr-scanner__scan-region{width:200px;height:200px}.qr-scanner__button{padding:.75rem 1.25rem;font-size:.9375rem}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.qr-scanner__error-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#fff}.qr-scanner__error-actions{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:280px;margin-top:1rem}.qr-scanner__error-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;width:100%}.qr-scanner__error-button svg{width:18px;height:18px}.qr-scanner__error-button--primary{background-color:#f44336;color:#fff}.qr-scanner__error-button--primary:hover{background-color:#d32f2f;transform:translateY(-1px)}.qr-scanner__error-button--primary:active{transform:translateY(0)}.qr-scanner__error-button--secondary{background-color:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3)}.qr-scanner__error-button--secondary:hover{background-color:#ffffff40}.qr-scanner__error-code{margin-top:1rem;font-size:.75rem;color:#ffffff80;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.qr-scanner__error-button:focus-visible{outline:2px solid #fff;outline-offset:2px}@keyframes errorFadeIn{0%{opacity:0}to{opacity:1}}.qr-scanner__error-overlay{animation:errorFadeIn .3s ease-out}@media(max-width:480px){.qr-scanner__error-overlay{padding:1.5rem}.qr-scanner__error-title{font-size:1.125rem}.qr-scanner__error-message{font-size:.875rem}.qr-scanner__error-actions{max-width:100%}.qr-scanner__error-button{padding:.625rem 1rem;font-size:.875rem}}.settings-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;padding:1rem;animation:settings-backdrop-fade-in .2s ease-out}@keyframes settings-backdrop-fade-in{0%{opacity:0}to{opacity:1}}.settings-modal{display:flex;flex-direction:column;width:100%;max-width:420px;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;color:var(--color-text-primary, #213547);animation:settings-modal-scale-in .3s ease-out;overflow:hidden}@keyframes settings-modal-scale-in{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.settings-modal__header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-neutral-200, #eeeeee);position:relative;flex-shrink:0}.settings-modal__icon{flex-shrink:0;color:var(--color-primary-500, #2196f3)}.settings-modal__title{flex:1;margin:0;font-size:1.25rem;font-weight:600;color:inherit}.settings-modal__close{position:absolute;top:.75rem;right:.75rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;padding:0;cursor:pointer;color:var(--color-text-muted, #757575);transition:background-color .2s,color .2s}.settings-modal__close:hover{background-color:#0000001a;color:var(--color-text-primary, #213547)}.settings-modal__close:focus{outline:2px solid var(--color-primary-500, #2196f3);outline-offset:2px}.settings-modal__content{flex:1;overflow-y:auto;padding:.5rem 0}.settings-modal__section{padding:1rem 1.5rem;border-bottom:1px solid var(--color-neutral-100, #f5f5f5)}.settings-modal__section:last-child{border-bottom:none}.settings-modal__section-title{display:flex;align-items:center;gap:.5rem;margin:0 0 .25rem;font-size:.9375rem;font-weight:600;color:inherit}.settings-modal__section-description{margin:0 0 1rem;font-size:.8125rem;color:var(--color-text-muted, #757575)}.settings-modal__theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.settings-modal__theme-option{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;background:var(--color-bg-secondary, #f9f9f9);border:2px solid transparent;border-radius:var(--radius-lg, .5rem);cursor:pointer;transition:all .2s ease;position:relative}.settings-modal__theme-option:hover{background:var(--color-neutral-100, #f5f5f5)}.settings-modal__theme-option:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-500, #2196f3)}.settings-modal__theme-option--selected{background:var(--color-primary-50, #e3f2fd);border-color:var(--color-primary-500, #2196f3)}.settings-modal__theme-option-icon{color:var(--color-text-secondary, #4a4a4a)}.settings-modal__theme-option--selected .settings-modal__theme-option-icon{color:var(--color-primary-600, #1e88e5)}.settings-modal__theme-option-label{font-size:.8125rem;font-weight:500;color:var(--color-text-primary, #213547)}.settings-modal__theme-option-description{font-size:.6875rem;color:var(--color-text-muted, #757575);text-align:center}.settings-modal__theme-option-check{position:absolute;top:.25rem;right:.25rem;width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;background:var(--color-primary-500, #2196f3);border-radius:50%;color:#fff}.settings-modal__theme-option-check .settings-modal__svg-icon{width:.75rem;height:.75rem}.settings-modal__theme-hint{margin:.75rem 0 0;padding:.5rem .75rem;font-size:.75rem;color:var(--color-text-muted, #757575);background:var(--color-bg-secondary, #f9f9f9);border-radius:var(--radius-md, .375rem)}.settings-modal__field{display:flex;flex-direction:column;gap:.5rem}.settings-modal__field-label{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary, #4a4a4a)}.settings-modal__select{width:100%;padding:.625rem 2.5rem .625rem .75rem;font-size:.875rem;font-family:inherit;background-color:var(--color-bg-secondary, #f9f9f9);border:1px solid var(--color-neutral-200, #eeeeee);border-radius:var(--radius-md, .375rem);color:var(--color-text-primary, #213547);cursor:pointer;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23757575' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em}.settings-modal__select:hover{border-color:var(--color-neutral-300, #e0e0e0)}.settings-modal__select:focus{outline:none;border-color:var(--color-primary-500, #2196f3);box-shadow:0 0 0 3px #2196f326}.settings-modal__empty-state{margin:0;padding:.75rem;font-size:.8125rem;color:var(--color-text-muted, #757575);background:var(--color-bg-secondary, #f9f9f9);border-radius:var(--radius-md, .375rem);text-align:center}.settings-modal__camera-info{margin-top:.75rem}.settings-modal__camera-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:var(--color-primary-700, #1976d2);background:var(--color-primary-50, #e3f2fd);border-radius:9999px}.settings-modal__about{display:flex;gap:1rem;align-items:flex-start}.settings-modal__about-logo{flex-shrink:0;width:3.5rem;height:3.5rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-500, #2196f3),var(--color-primary-700, #1976d2));border-radius:var(--radius-lg, .5rem);color:#fff}.settings-modal__about-info{flex:1;min-width:0}.settings-modal__app-name{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:inherit}.settings-modal__app-version{margin:0 0 .5rem;font-size:.75rem;color:var(--color-text-muted, #757575)}.settings-modal__app-description{margin:0;font-size:.8125rem;color:var(--color-text-secondary, #4a4a4a);line-height:1.5}.settings-modal__about-footer{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--color-neutral-100, #f5f5f5);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.settings-modal__copyright,.settings-modal__tech{margin:0;font-size:.6875rem;color:var(--color-text-muted, #757575)}.settings-modal__actions{display:flex;padding:1rem 1.5rem;border-top:1px solid var(--color-neutral-200, #eeeeee);flex-shrink:0}.settings-modal__button{width:100%;justify-content:center}.settings-modal__svg-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.settings-modal__svg-icon--header{width:1.5rem;height:1.5rem}.settings-modal__svg-icon--small{width:1rem;height:1rem}.settings-modal__svg-icon--logo{width:2rem;height:2rem}.dark .settings-modal{background-color:var(--color-dark-elevated, #2a2a2a);color:#ffffffde}.dark .settings-modal__header{border-bottom-color:#ffffff1a}.dark .settings-modal__close:hover{background-color:#ffffff1a;color:#ffffffde}.dark .settings-modal__section{border-bottom-color:#ffffff0d}.dark .settings-modal__section-description{color:#ffffff80}.dark .settings-modal__theme-option{background:var(--color-dark-surface, #1a1a1a)}.dark .settings-modal__theme-option:hover{background:#ffffff1a}.dark .settings-modal__theme-option--selected{background:#2196f326;border-color:var(--color-primary-500, #2196f3)}.dark .settings-modal__theme-option-icon{color:#ffffffb3}.dark .settings-modal__theme-option--selected .settings-modal__theme-option-icon{color:var(--color-primary-400, #42a5f5)}.dark .settings-modal__theme-option-label{color:#ffffffde}.dark .settings-modal__theme-option-description{color:#ffffff80}.dark .settings-modal__theme-hint{background:var(--color-dark-surface, #1a1a1a);color:#ffffff80}.dark .settings-modal__field-label{color:#ffffffb3}.dark .settings-modal__select{background-color:var(--color-dark-surface, #1a1a1a);border-color:#ffffff1a;color:#ffffffde;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239e9e9e' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")}.dark .settings-modal__select:hover{border-color:#fff3}.dark .settings-modal__empty-state{background:var(--color-dark-surface, #1a1a1a);color:#ffffff80}.dark .settings-modal__camera-badge{background:#2196f333;color:var(--color-primary-300, #64b5f6)}.dark .settings-modal__app-description{color:#ffffffb3}.dark .settings-modal__about-footer{border-top-color:#ffffff0d}.dark .settings-modal__copyright,.dark .settings-modal__tech{color:#fff6}.dark .settings-modal__actions{border-top-color:#ffffff1a}@media(prefers-color-scheme:dark){:root:not(.light) .settings-modal{background-color:#2a2a2a;color:#ffffffde}:root:not(.light) .settings-modal__header{border-bottom-color:#ffffff1a}:root:not(.light) .settings-modal__close:hover{background-color:#ffffff1a;color:#ffffffde}:root:not(.light) .settings-modal__section{border-bottom-color:#ffffff0d}:root:not(.light) .settings-modal__section-description{color:#ffffff80}:root:not(.light) .settings-modal__theme-option{background:#1a1a1a}:root:not(.light) .settings-modal__theme-option:hover{background:#ffffff1a}:root:not(.light) .settings-modal__theme-option--selected{background:#2196f326;border-color:#2196f3}:root:not(.light) .settings-modal__theme-option-icon{color:#ffffffb3}:root:not(.light) .settings-modal__theme-option--selected .settings-modal__theme-option-icon{color:#42a5f5}:root:not(.light) .settings-modal__theme-option-label{color:#ffffffde}:root:not(.light) .settings-modal__theme-option-description{color:#ffffff80}:root:not(.light) .settings-modal__theme-hint{background:#1a1a1a;color:#ffffff80}:root:not(.light) .settings-modal__field-label{color:#ffffffb3}:root:not(.light) .settings-modal__select{background-color:#1a1a1a;border-color:#ffffff1a;color:#ffffffde;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239e9e9e' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")}:root:not(.light) .settings-modal__select:hover{border-color:#fff3}:root:not(.light) .settings-modal__empty-state{background:#1a1a1a;color:#ffffff80}:root:not(.light) .settings-modal__camera-badge{background:#2196f333;color:#64b5f6}:root:not(.light) .settings-modal__app-description{color:#ffffffb3}:root:not(.light) .settings-modal__about-footer{border-top-color:#ffffff0d}:root:not(.light) .settings-modal__copyright,:root:not(.light) .settings-modal__tech{color:#fff6}:root:not(.light) .settings-modal__actions{border-top-color:#ffffff1a}}@media(max-width:480px){.settings-modal-backdrop{padding:.5rem;align-items:flex-end}.settings-modal{max-width:100%;max-height:90vh;max-height:90dvh;border-radius:12px 12px 0 0;animation:settings-modal-slide-up .3s ease-out}@keyframes settings-modal-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.settings-modal__header{padding:1rem}.settings-modal__section{padding:.75rem 1rem}.settings-modal__title{font-size:1.125rem}.settings-modal__theme-options{gap:.375rem}.settings-modal__theme-option{padding:.625rem .375rem}.settings-modal__theme-option-description{font-size:.625rem}.settings-modal__actions{padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0))}}@media(orientation:landscape)and (max-height:500px){.settings-modal-backdrop{align-items:center}.settings-modal{max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem);border-radius:12px}.settings-modal__header{padding:.75rem 1rem}.settings-modal__section{padding:.5rem 1rem}.settings-modal__section-title{margin-bottom:.125rem}.settings-modal__section-description{margin-bottom:.5rem}.settings-modal__actions{padding:.5rem 1rem}}.history-modal-backdrop{--history-modal-padding: 1rem;--history-modal-safe-top: env(safe-area-inset-top);--history-modal-safe-bottom: env(safe-area-inset-bottom);position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100;padding:var(--history-modal-padding);padding-top:max(var(--history-modal-padding),var(--history-modal-safe-top));padding-bottom:max(var(--history-modal-padding),var(--history-modal-safe-bottom));animation:history-backdrop-fade-in .2s ease-out}@keyframes history-backdrop-fade-in{0%{opacity:0}to{opacity:1}}.history-modal{--history-modal-padding: 1rem;--history-modal-safe-top: env(safe-area-inset-top);--history-modal-safe-bottom: env(safe-area-inset-bottom);--history-modal-viewport-height: min(100dvh, 100svh);display:flex;flex-direction:column;width:100%;max-width:400px;max-height:calc(var(--history-modal-viewport-height) - (var(--history-modal-padding) * 2) - var(--history-modal-safe-top) - var(--history-modal-safe-bottom));background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;color:var(--color-text-primary, #213547);animation:history-modal-scale-in .3s ease-out;overflow:hidden}@keyframes history-modal-scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.history-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-neutral-200, #eeeeee);flex-shrink:0}.history-modal__title-container{display:flex;align-items:center;gap:.5rem}.history-modal__icon{width:1.5rem;height:1.5rem;color:var(--color-primary-500, #2196f3);flex-shrink:0}.history-modal__title{margin:0;font-size:1.125rem;font-weight:600;color:inherit}.history-modal__count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .375rem;font-size:.75rem;font-weight:600;color:var(--color-primary-700, #1565c0);background-color:var(--color-primary-50, #e3f2fd);border-radius:9999px}.history-modal__close{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;padding:0;cursor:pointer;color:var(--color-text-muted, #757575);transition:background-color .2s,color .2s}.history-modal__close:hover{background-color:#0000001a;color:var(--color-text-primary, #213547)}.history-modal__close:focus{outline:2px solid var(--color-primary-500, #2196f3);outline-offset:2px}.history-modal__content{flex:1;overflow-y:auto;min-height:0}.history-modal__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center}.history-modal__empty-icon{width:4rem;height:4rem;color:var(--color-neutral-300, #e0e0e0);margin-bottom:1rem}.history-modal__empty-text{margin:0;font-size:1rem;font-weight:500;color:var(--color-text-primary, #213547)}.history-modal__empty-hint{margin:.5rem 0 0;font-size:.875rem;color:var(--color-text-muted, #757575)}.history-modal__list{list-style:none;margin:0;padding:0}.history-modal__item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1.25rem;border-bottom:1px solid var(--color-neutral-100, #f5f5f5);transition:background-color .15s ease}.history-modal__item:last-child{border-bottom:none}.history-modal__item:hover{background-color:var(--color-neutral-50, #fafafa)}.history-modal__item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.history-modal__item-text{font-size:.875rem;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);line-height:1.4;color:var(--color-text-primary, #213547);word-break:break-all;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.history-modal__item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-text-muted, #757575)}.history-modal__item-time{color:var(--color-text-secondary, #4a4a4a)}.history-modal__item-format{padding:.125rem .375rem;background-color:var(--color-neutral-100, #f5f5f5);border-radius:4px;font-size:.6875rem;text-transform:uppercase;letter-spacing:.025em}.history-modal__item-actions{display:flex;gap:.25rem;flex-shrink:0}.history-modal__item-button{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-neutral-200, #eeeeee);border-radius:6px;padding:0;cursor:pointer;color:var(--color-text-muted, #757575);transition:all .2s ease}.history-modal__item-button:hover{background-color:var(--color-neutral-100, #f5f5f5);border-color:var(--color-neutral-300, #e0e0e0);color:var(--color-text-primary, #213547)}.history-modal__item-button:focus{outline:2px solid var(--color-primary-500, #2196f3);outline-offset:2px}.history-modal__item-button--copy:hover{color:var(--color-primary-600, #1e88e5);border-color:var(--color-primary-300, #64b5f6);background-color:var(--color-primary-50, #e3f2fd)}.history-modal__item-button--copied{color:var(--color-success-500, #4caf50);border-color:var(--color-success-300, #81c784);background-color:#4caf501a}.history-modal__item-button--delete:hover{color:var(--color-destructive-500, #ef4444);border-color:#f87171;background-color:#ef44441a}.history-modal__footer{padding:1rem 1.25rem;border-top:1px solid var(--color-neutral-200, #eeeeee);flex-shrink:0}.history-modal__clear-button{width:100%;justify-content:center}.history-modal__confirm{display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:history-confirm-fade-in .2s ease-out}@keyframes history-confirm-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.history-modal__confirm-text{margin:0;font-size:.875rem;font-weight:500;color:var(--color-text-primary, #213547)}.history-modal__confirm-actions{display:flex;gap:.5rem}.history-modal__svg-icon{width:1rem;height:1rem;flex-shrink:0}.dark .history-modal{background-color:var(--color-dark-elevated, #2a2a2a);color:var(--color-text-primary, rgba(255, 255, 255, .87))}.dark .history-modal__header{border-bottom-color:#ffffff1a}.dark .history-modal__count{background-color:#2196f333;color:var(--color-primary-300, #64b5f6)}.dark .history-modal__close:hover{background-color:#ffffff1a;color:var(--color-text-primary, rgba(255, 255, 255, .87))}.dark .history-modal__empty-icon{color:var(--color-neutral-600, #757575)}.dark .history-modal__empty-hint{color:var(--color-text-muted, #9e9e9e)}.dark .history-modal__item{border-bottom-color:#ffffff0d}.dark .history-modal__item:hover{background-color:#ffffff0d}.dark .history-modal__item-time{color:var(--color-text-secondary, #b0b0b0)}.dark .history-modal__item-format{background-color:#ffffff1a;color:var(--color-text-muted, #9e9e9e)}.dark .history-modal__item-button{border-color:#ffffff1a;color:var(--color-text-muted, #9e9e9e)}.dark .history-modal__item-button:hover{background-color:#ffffff1a;border-color:#fff3;color:var(--color-text-primary, rgba(255, 255, 255, .87))}.dark .history-modal__item-button--copy:hover{color:var(--color-primary-400, #42a5f5);border-color:var(--color-primary-400, #42a5f5);background-color:#2196f326}.dark .history-modal__item-button--copied{color:var(--color-success-400, #66bb6a);border-color:var(--color-success-400, #66bb6a);background-color:#4caf5026}.dark .history-modal__item-button--delete:hover{color:#f87171;border-color:#f87171;background-color:#ef444426}.dark .history-modal__footer{border-top-color:#ffffff1a}@media(prefers-color-scheme:dark){:root:not(.light) .history-modal{background-color:#2a2a2a;color:#ffffffde}:root:not(.light) .history-modal__header{border-bottom-color:#ffffff1a}:root:not(.light) .history-modal__count{background-color:#2196f333;color:#64b5f6}:root:not(.light) .history-modal__close:hover{background-color:#ffffff1a;color:#ffffffde}:root:not(.light) .history-modal__empty-icon{color:#757575}:root:not(.light) .history-modal__empty-hint{color:#9e9e9e}:root:not(.light) .history-modal__item{border-bottom-color:#ffffff0d}:root:not(.light) .history-modal__item:hover{background-color:#ffffff0d}:root:not(.light) .history-modal__item-time{color:#b0b0b0}:root:not(.light) .history-modal__item-format{background-color:#ffffff1a;color:#9e9e9e}:root:not(.light) .history-modal__item-button{border-color:#ffffff1a;color:#9e9e9e}:root:not(.light) .history-modal__item-button:hover{background-color:#ffffff1a;border-color:#fff3;color:#ffffffde}:root:not(.light) .history-modal__footer{border-top-color:#ffffff1a}}@media(max-width:480px){.history-modal{max-width:100%;max-height:calc(100vh - 1rem)}.history-modal__header,.history-modal__footer{padding:.875rem 1rem}.history-modal__title{font-size:1rem}.history-modal__item{padding:.75rem 1rem}.history-modal__item-text{font-size:.8125rem}}@media(orientation:landscape)and (max-height:500px){.history-modal{max-height:calc(100vh - 1rem)}.history-modal__header,.history-modal__footer{padding:.5rem 1rem}.history-modal__content{min-height:100px}.history-modal__empty{padding:1.5rem 1rem}.history-modal__empty-icon{width:2.5rem;height:2.5rem}.history-modal__item{padding:.5rem 1rem}}.scan-result-overlay-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100;padding:1rem;animation:backdrop-fade-in .2s ease-out}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}.scan-result-overlay{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:360px;background-color:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 20px #0000004d;color:var(--color-text-primary, #213547);animation:overlay-scale-in .3s ease-out}.scan-result-overlay__header{display:flex;align-items:center;gap:.75rem;position:relative}.scan-result-overlay__icon{flex-shrink:0}.scan-result-overlay__title{flex:1;margin:0;font-size:1.25rem;font-weight:600;color:inherit}.scan-result-overlay__close{position:absolute;top:-.5rem;right:-.5rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;padding:0;cursor:pointer;color:var(--color-text-muted, #757575);transition:background-color .2s,color .2s}.scan-result-overlay__close:hover{background-color:#0000001a;color:var(--color-text-primary, #213547)}.scan-result-overlay__close:focus{outline:2px solid var(--color-primary-500, #2196f3);outline-offset:2px}.scan-result-overlay__content{display:flex;flex-direction:column;gap:.5rem}.scan-result-overlay__label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary, #4a4a4a)}.scan-result-overlay__text-container{background-color:var(--color-bg-secondary, #f9f9f9);border:1px solid var(--color-neutral-200, #eeeeee);border-radius:var(--radius-md, .375rem);padding:.75rem;max-height:150px;overflow:auto}.scan-result-overlay__text{margin:0;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);font-size:.875rem;line-height:1.5;white-space:pre-wrap;word-break:break-all;color:inherit}.scan-result-overlay__meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.75rem;color:var(--color-text-muted, #757575)}.scan-result-overlay__meta-item{display:inline-flex;gap:.25rem}.scan-result-overlay__meta-item strong{color:var(--color-text-secondary, #4a4a4a)}.scan-result-overlay__actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.scan-result-overlay__button{width:100%;justify-content:center}.scan-result-overlay__svg-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.scan-result-overlay__svg-icon--success{width:2rem;height:2rem;color:var(--color-success-500, #4caf50)}.dark .scan-result-overlay{background-color:var(--color-dark-elevated, #2a2a2a);color:var(--color-text-primary, rgba(255, 255, 255, .87))}.dark .scan-result-overlay__close:hover{background-color:#ffffff1a;color:var(--color-text-primary, rgba(255, 255, 255, .87))}.dark .scan-result-overlay__label{color:var(--color-text-secondary, #b0b0b0)}.dark .scan-result-overlay__text-container{background-color:var(--color-dark-surface, #1a1a1a);border-color:#ffffff1a}.dark .scan-result-overlay__meta{color:var(--color-text-muted, #9e9e9e)}.dark .scan-result-overlay__meta-item strong{color:var(--color-text-secondary, #b0b0b0)}@media(prefers-color-scheme:dark){:root:not(.light) .scan-result-overlay{background-color:#2a2a2a;color:#ffffffde}:root:not(.light) .scan-result-overlay__close:hover{background-color:#ffffff1a;color:#ffffffde}:root:not(.light) .scan-result-overlay__label{color:#b0b0b0}:root:not(.light) .scan-result-overlay__text-container{background-color:#1a1a1a;border-color:#ffffff1a}:root:not(.light) .scan-result-overlay__meta{color:#9e9e9e}:root:not(.light) .scan-result-overlay__meta-item strong{color:#b0b0b0}}@media(min-width:640px){.scan-result-overlay__actions{flex-direction:row}.scan-result-overlay__button{flex:1}}@media(max-width:480px){.scan-result-overlay{max-width:100%}.scan-result-overlay__title{font-size:1.125rem}.scan-result-overlay__text-container{max-height:120px;padding:.5rem}.scan-result-overlay__text{font-size:.8125rem}}@media(orientation:landscape)and (max-height:500px){.scan-result-overlay{gap:.5rem;padding:.75rem;max-height:calc(100vh - 2rem);overflow-y:auto}.scan-result-overlay__text-container{max-height:80px;padding:.5rem}.scan-result-overlay__actions{flex-direction:row;margin-top:0}}.scan-result-overlay__wifi-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background-color:var(--color-primary-100, #e3f2fd);color:var(--color-primary-700, #1565c0);border-radius:9999px;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.scan-result-overlay__svg-icon--wifi{width:1.25rem;height:1.25rem;color:var(--color-primary-600, #1976d2)}.scan-result-overlay__wifi-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.scan-result-overlay__wifi-field-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.scan-result-overlay__wifi-field-actions{display:flex;align-items:center;gap:.25rem}.scan-result-overlay__wifi-value{background-color:var(--color-bg-secondary, #f9f9f9);border:1px solid var(--color-neutral-200, #eeeeee);border-radius:var(--radius-md, .375rem);padding:.625rem .75rem;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);font-size:.9375rem;word-break:break-all}.scan-result-overlay__wifi-value--password{letter-spacing:.05em}.scan-result-overlay__wifi-copy-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background-color:transparent;border:1px solid var(--color-neutral-300, #e0e0e0);border-radius:var(--radius-sm, .25rem);font-size:.75rem;font-weight:500;color:var(--color-text-secondary, #4a4a4a);cursor:pointer;transition:all .2s ease}.scan-result-overlay__wifi-copy-btn:hover{background-color:var(--color-neutral-100, #f5f5f5);border-color:var(--color-neutral-400, #bdbdbd)}.scan-result-overlay__wifi-copy-btn:focus{outline:2px solid var(--color-primary-500, #2196f3);outline-offset:2px}.scan-result-overlay__wifi-copy-btn--copied{background-color:var(--color-success-100, #e8f5e9);border-color:var(--color-success-500, #4caf50);color:var(--color-success-700, #388e3c)}.scan-result-overlay__wifi-copy-btn .scan-result-overlay__svg-icon{width:.875rem;height:.875rem}.scan-result-overlay__wifi-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background-color:transparent;border:1px solid var(--color-neutral-300, #e0e0e0);border-radius:var(--radius-sm, .25rem);color:var(--color-text-secondary, #4a4a4a);cursor:pointer;transition:all .2s ease}.scan-result-overlay__wifi-toggle-btn:hover{background-color:var(--color-neutral-100, #f5f5f5);border-color:var(--color-neutral-400, #bdbdbd)}.scan-result-overlay__wifi-toggle-btn:focus{outline:2px solid var(--color-primary-500, #2196f3);outline-offset:2px}.scan-result-overlay__wifi-toggle-btn .scan-result-overlay__svg-icon{width:1rem;height:1rem}.scan-result-overlay__wifi-notice{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:var(--color-warning-100, #fff8e1);border:1px solid var(--color-warning-300, #ffe082);border-radius:var(--radius-md, .375rem);font-size:.8125rem;color:var(--color-warning-800, #f57f17);margin-bottom:.5rem}.scan-result-overlay__wifi-notice .scan-result-overlay__svg-icon{width:1rem;height:1rem;flex-shrink:0}.dark .scan-result-overlay__wifi-badge{background-color:#2196f326;color:var(--color-primary-300, #64b5f6)}.dark .scan-result-overlay__svg-icon--wifi{color:var(--color-primary-400, #42a5f5)}.dark .scan-result-overlay__wifi-value{background-color:var(--color-dark-surface, #1a1a1a);border-color:#ffffff1a}.dark .scan-result-overlay__wifi-copy-btn{border-color:#fff3;color:var(--color-text-secondary, #b0b0b0)}.dark .scan-result-overlay__wifi-copy-btn:hover{background-color:#ffffff1a;border-color:#ffffff4d}.dark .scan-result-overlay__wifi-copy-btn--copied{background-color:#4caf5026;border-color:var(--color-success-500, #4caf50);color:var(--color-success-400, #66bb6a)}.dark .scan-result-overlay__wifi-toggle-btn{border-color:#fff3;color:var(--color-text-secondary, #b0b0b0)}.dark .scan-result-overlay__wifi-toggle-btn:hover{background-color:#ffffff1a;border-color:#ffffff4d}.dark .scan-result-overlay__wifi-notice{background-color:#ffc1071a;border-color:#ffc1074d;color:var(--color-warning-400, #ffca28)}@media(prefers-color-scheme:dark){:root:not(.light) .scan-result-overlay__wifi-badge{background-color:#2196f326;color:#64b5f6}:root:not(.light) .scan-result-overlay__svg-icon--wifi{color:#42a5f5}:root:not(.light) .scan-result-overlay__wifi-value{background-color:#1a1a1a;border-color:#ffffff1a}:root:not(.light) .scan-result-overlay__wifi-copy-btn{border-color:#fff3;color:#b0b0b0}:root:not(.light) .scan-result-overlay__wifi-copy-btn:hover{background-color:#ffffff1a;border-color:#ffffff4d}:root:not(.light) .scan-result-overlay__wifi-copy-btn--copied{background-color:#4caf5026;border-color:#4caf50;color:#66bb6a}:root:not(.light) .scan-result-overlay__wifi-toggle-btn{border-color:#fff3;color:#b0b0b0}:root:not(.light) .scan-result-overlay__wifi-toggle-btn:hover{background-color:#ffffff1a;border-color:#ffffff4d}:root:not(.light) .scan-result-overlay__wifi-notice{background-color:#ffc1071a;border-color:#ffc1074d;color:#ffca28}}.scan-result-overlay__svg-icon--search{width:1.25rem;height:1.25rem;color:var(--color-primary-600, #1976d2)}.scan-result-overlay__button--search{transition:all .2s ease}.scan-result-overlay__button--confirming{background-color:var(--color-warning-100, #fff8e1)!important;border-color:var(--color-warning-500, #ff9800)!important;color:var(--color-warning-800, #e65100)!important;animation:pulse-warning 1.5s infinite}.scan-result-overlay__button--confirming .scan-result-overlay__svg-icon--search{color:var(--color-warning-700, #f57c00)}@keyframes pulse-warning{0%,to{box-shadow:0 0 #ff980066}50%{box-shadow:0 0 0 4px #ff980033}}.scan-result-overlay__button--searching{background-color:var(--color-success-100, #e8f5e9)!important;border-color:var(--color-success-500, #4caf50)!important;color:var(--color-success-700, #388e3c)!important}.dark .scan-result-overlay__svg-icon--search{color:var(--color-primary-400, #42a5f5)}.dark .scan-result-overlay__button--confirming{background-color:#ff980026!important;border-color:var(--color-warning-500, #ff9800)!important;color:var(--color-warning-400, #ffb74d)!important}.dark .scan-result-overlay__button--confirming .scan-result-overlay__svg-icon--search{color:var(--color-warning-400, #ffb74d)}.dark .scan-result-overlay__button--searching{background-color:#4caf5026!important;border-color:var(--color-success-500, #4caf50)!important;color:var(--color-success-400, #66bb6a)!important}@media(prefers-color-scheme:dark){:root:not(.light) .scan-result-overlay__svg-icon--search{color:#42a5f5}:root:not(.light) .scan-result-overlay__button--confirming{background-color:#ff980026!important;border-color:#ff9800!important;color:#ffb74d!important}:root:not(.light) .scan-result-overlay__button--confirming .scan-result-overlay__svg-icon--search{color:#ffb74d}:root:not(.light) .scan-result-overlay__button--searching{background-color:#4caf5026!important;border-color:#4caf50!important;color:#66bb6a!important}}.scan-result-overlay__payment-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background-color:var(--color-warning-100, #fff8e1);color:var(--color-warning-800, #e65100);border-radius:9999px;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.scan-result-overlay__svg-icon--payment{width:1.25rem;height:1.25rem;color:var(--color-warning-700, #f57c00)}.scan-result-overlay__payment-warning{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background-color:var(--color-error-100, #ffebee);border:1px solid var(--color-error-300, #ef9a9a);border-radius:var(--radius-md, .375rem);font-size:.8125rem;color:var(--color-error-800, #c62828);margin-bottom:.75rem}.scan-result-overlay__payment-warning .scan-result-overlay__svg-icon{width:1.25rem;height:1.25rem;flex-shrink:0;margin-top:.125rem}.scan-result-overlay__svg-icon--warning{color:var(--color-error-600, #e53935)}.scan-result-overlay__wifi-value--payment{word-break:break-all;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace)}.scan-result-overlay__button--payment{transition:all .2s ease}.scan-result-overlay__button--payment-confirming{background-color:var(--color-error-100, #ffebee)!important;border-color:var(--color-error-500, #f44336)!important;color:var(--color-error-800, #c62828)!important;animation:pulse-payment-warning 1.5s infinite}.scan-result-overlay__button--payment-confirming .scan-result-overlay__svg-icon--warning{color:var(--color-error-600, #e53935)}@keyframes pulse-payment-warning{0%,to{box-shadow:0 0 #f4433666}50%{box-shadow:0 0 0 6px #f4433626}}.scan-result-overlay__button--payment-opening{background-color:var(--color-success-100, #e8f5e9)!important;border-color:var(--color-success-500, #4caf50)!important;color:var(--color-success-700, #388e3c)!important}.dark .scan-result-overlay__payment-badge{background-color:#ff980026;color:var(--color-warning-400, #ffb74d)}.dark .scan-result-overlay__svg-icon--payment{color:var(--color-warning-400, #ffb74d)}.dark .scan-result-overlay__payment-warning{background-color:#f443361a;border-color:#f443364d;color:var(--color-error-400, #ef5350)}.dark .scan-result-overlay__svg-icon--warning{color:var(--color-error-400, #ef5350)}.dark .scan-result-overlay__button--payment-confirming{background-color:#f4433626!important;border-color:var(--color-error-500, #f44336)!important;color:var(--color-error-400, #ef5350)!important}.dark .scan-result-overlay__button--payment-confirming .scan-result-overlay__svg-icon--warning{color:var(--color-error-400, #ef5350)}.dark .scan-result-overlay__button--payment-opening{background-color:#4caf5026!important;border-color:var(--color-success-500, #4caf50)!important;color:var(--color-success-400, #66bb6a)!important}@media(prefers-color-scheme:dark){:root:not(.light) .scan-result-overlay__payment-badge{background-color:#ff980026;color:#ffb74d}:root:not(.light) .scan-result-overlay__svg-icon--payment{color:#ffb74d}:root:not(.light) .scan-result-overlay__payment-warning{background-color:#f443361a;border-color:#f443364d;color:#ef5350}:root:not(.light) .scan-result-overlay__svg-icon--warning{color:#ef5350}:root:not(.light) .scan-result-overlay__button--payment-confirming{background-color:#f4433626!important;border-color:#f44336!important;color:#ef5350!important}:root:not(.light) .scan-result-overlay__button--payment-confirming .scan-result-overlay__svg-icon--warning{color:#ef5350}:root:not(.light) .scan-result-overlay__button--payment-opening{background-color:#4caf5026!important;border-color:#4caf50!important;color:#66bb6a!important}}.qr-code-icon{display:inline-block;flex-shrink:0;color:currentColor}.qr-code-icon--small{width:1rem;height:1rem}.qr-code-icon--medium{width:1.5rem;height:1.5rem}.qr-code-icon--large{width:2rem;height:2rem}.header{flex-shrink:0;width:100%;background-color:var(--color-bg-primary, #ffffff);border-bottom:1px solid var(--color-neutral-200, #eeeeee);padding-top:env(safe-area-inset-top)}.header__container{display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;gap:.75rem;min-height:3rem;position:relative}.header__branding{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;min-width:0}.header__title-row{display:flex;align-items:center;justify-content:center;gap:.5rem}.header__icon{color:var(--color-primary, #3b82f6);flex-shrink:0}.header__title{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-neutral-900, #212121);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header__subtitle{margin:0;margin-top:.125rem;font-size:.75rem;color:var(--color-neutral-500, #9e9e9e);line-height:1.2}.header__action{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:2.5rem}.header__action--left{margin-right:auto}.header__action--right{margin-left:auto}.header__container:not(:has(.header__action)) .header__branding{padding:0 1rem}.dark .header{background-color:var(--color-dark-surface, #1a1a1a);border-bottom-color:var(--color-neutral-800, #424242)}.dark .header__title{color:var(--color-neutral-50, #fafafa)}.dark .header__subtitle{color:var(--color-neutral-400, #bdbdbd)}.dark .header__icon{color:var(--color-primary-light, #60a5fa)}@media(prefers-color-scheme:dark){:root:not(.light):not(.dark) .header{background-color:var(--color-dark-surface, #1a1a1a);border-bottom-color:var(--color-neutral-800, #424242)}:root:not(.light):not(.dark) .header__title{color:var(--color-neutral-50, #fafafa)}:root:not(.light):not(.dark) .header__subtitle{color:var(--color-neutral-400, #bdbdbd)}:root:not(.light):not(.dark) .header__icon{color:var(--color-primary-light, #60a5fa)}}@media(min-width:768px){.header__container{padding:1rem 1.5rem}.header__title{font-size:1.25rem}.header__subtitle{font-size:.8125rem}}@media(max-width:480px){.header__container{padding:.5rem .75rem;min-height:2.5rem;gap:.5rem}.header__title{font-size:1rem}.header__subtitle{font-size:.6875rem}.header__action{min-width:2rem}}@media(orientation:landscape)and (max-height:500px){.header__container{padding:.375rem .75rem;min-height:2rem}.header__title{font-size:.875rem}.header__subtitle{display:none}}@media(max-width:320px){.header__title{font-size:.9375rem}}.header--transparent{background-color:transparent;border-bottom:none;position:absolute;top:0;left:0;right:0;z-index:10}.header--transparent .header__title{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}.header--transparent .header__subtitle{color:#fffc;text-shadow:0 1px 2px rgba(0,0,0,.5)}.header--transparent .header__icon{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.header--minimal{border-bottom:none;background-color:transparent}.header--minimal .header__container{padding:.5rem 1rem}.main-layout{display:flex;flex-direction:column;height:100%;max-height:100vh;max-height:100dvh;width:100%;background-color:var(--color-bg-primary, #ffffff);overflow:hidden;position:relative}.main-layout__content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:.5rem;padding-left:max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right))}.main-layout__viewfinder-container{width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;position:relative}.main-layout__footer{flex-shrink:0;padding:.75rem 1rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));text-align:center;background-color:var(--color-neutral-50, #fafafa);border-top:1px solid var(--color-neutral-200, #eeeeee)}.main-layout__footer-text{margin:0;font-size:.75rem;color:var(--color-neutral-600, #757575);line-height:1.4}.dark .main-layout{background-color:var(--color-dark-bg, #242424)}.dark .main-layout__footer{background-color:var(--color-dark-surface, #1a1a1a);border-top-color:var(--color-neutral-800, #424242)}.dark .main-layout__footer-text{color:var(--color-neutral-400, #9e9e9e)}@media(prefers-color-scheme:dark){:root:not(.light):not(.dark) .main-layout{background-color:var(--color-dark-bg, #242424)}:root:not(.light):not(.dark) .main-layout__footer{background-color:var(--color-dark-surface, #1a1a1a);border-top-color:var(--color-neutral-800, #424242)}:root:not(.light):not(.dark) .main-layout__footer-text{color:var(--color-neutral-400, #9e9e9e)}}@media(min-width:768px){.main-layout__content{padding:1rem}.main-layout__viewfinder-container{max-width:100%}.main-layout__footer{padding:1rem 1.5rem}.main-layout__footer-text{font-size:.875rem}}@media(max-width:480px){.main-layout__content{padding:.25rem}.main-layout__footer{padding:.5rem}.main-layout__footer-text{font-size:.6875rem}}@media(orientation:landscape)and (max-height:500px){.main-layout__content{flex-direction:row;padding:.25rem}.main-layout__viewfinder-container{max-width:none;max-height:calc(100vh - 120px)}.main-layout__footer{padding:.375rem .5rem}.main-layout__footer-text{font-size:.625rem}}@media(max-width:320px){.main-layout__footer-text{font-size:.625rem}}.main-layout{animation:layout-fade-in .3s ease-out}@keyframes layout-fade-in{0%{opacity:0}to{opacity:1}}.theme-toggle{position:relative;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--color-neutral-300);border-radius:.5rem;background-color:transparent;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.theme-toggle:hover{background-color:var(--color-neutral-100);border-color:var(--color-neutral-400)}.theme-toggle:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-500)}.dark .theme-toggle{border-color:var(--color-neutral-600);color:var(--color-text-primary)}.dark .theme-toggle:hover{background-color:var(--color-neutral-800);border-color:var(--color-neutral-500)}@media(prefers-color-scheme:dark){:root:not(.light) .theme-toggle{border-color:var(--color-neutral-600);color:#ffffffde}:root:not(.light) .theme-toggle:hover{background-color:var(--color-neutral-800);border-color:var(--color-neutral-500)}}@media(max-width:480px){.theme-toggle{width:2.25rem;height:2.25rem}.theme-toggle svg{width:18px;height:18px}}@media(max-width:360px){.theme-toggle{width:2rem;height:2rem}.theme-toggle svg{width:16px;height:16px}}@media(orientation:landscape)and (max-height:500px){.theme-toggle{width:2rem;height:2rem}.theme-toggle svg{width:16px;height:16px}}@media(min-width:768px){.theme-toggle{width:2.75rem;height:2.75rem}.theme-toggle svg{width:22px;height:22px}}.header-navigation{display:flex;align-items:center;gap:.5rem}.header-navigation__button{position:relative;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--color-neutral-300);border-radius:.5rem;background-color:transparent;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.header-navigation__button:hover{background-color:var(--color-neutral-100);border-color:var(--color-neutral-400)}.header-navigation__button:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-500)}.header-navigation__button:active{transform:scale(.95)}.header-navigation__button--settings svg{transition:transform .3s ease}.header-navigation__button--settings:hover svg{transform:rotate(30deg)}.header-navigation__badge{position:absolute;top:-.375rem;right:-.375rem;display:flex;align-items:center;justify-content:center;min-width:1.125rem;height:1.125rem;padding:0 .25rem;font-size:.625rem;font-weight:600;color:#fff;background-color:var(--color-primary-500, #2196f3);border-radius:9999px;border:2px solid var(--color-bg-primary, white);animation:header-nav-badge-pop-in .2s ease-out}@keyframes header-nav-badge-pop-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.dark .header-navigation__button{border-color:var(--color-neutral-600);color:var(--color-text-primary)}.dark .header-navigation__button:hover{background-color:var(--color-neutral-800);border-color:var(--color-neutral-500)}.dark .header-navigation__badge{border-color:var(--color-dark-elevated, #2a2a2a)}@media(prefers-color-scheme:dark){:root:not(.light) .header-navigation__button{border-color:var(--color-neutral-600);color:#ffffffde}:root:not(.light) .header-navigation__button:hover{background-color:var(--color-neutral-800);border-color:var(--color-neutral-500)}:root:not(.light) .header-navigation__badge{border-color:#2a2a2a}}@media(max-width:480px){.header-navigation{gap:.375rem}.header-navigation__button{width:2.25rem;height:2.25rem}.header-navigation__button svg{width:18px;height:18px}.header-navigation__badge{min-width:1rem;height:1rem;font-size:.5625rem;top:-.25rem;right:-.25rem}}@media(max-width:360px){.header-navigation{gap:.25rem}.header-navigation__button{width:2rem;height:2rem}.header-navigation__button svg{width:16px;height:16px}}@media(orientation:landscape)and (max-height:500px){.header-navigation{gap:.25rem}.header-navigation__button{width:2rem;height:2rem}.header-navigation__button svg{width:16px;height:16px}}@media(min-width:768px){.header-navigation{gap:.625rem}.header-navigation__button{width:2.75rem;height:2.75rem}.header-navigation__button svg{width:22px;height:22px}}.viewfinder-overlay{position:absolute;left:0;right:0;display:flex;pointer-events:none;z-index:10;padding:.5rem}.viewfinder-overlay__content{pointer-events:auto}.viewfinder-overlay--top{top:0;align-items:flex-start;justify-content:center;padding-top:max(.5rem,env(safe-area-inset-top))}.viewfinder-overlay--center{top:0;bottom:0;align-items:center;justify-content:center}.viewfinder-overlay--bottom{bottom:0;align-items:flex-end;justify-content:center;padding-bottom:max(.5rem,env(safe-area-inset-bottom))}.viewfinder-overlay--gradient.viewfinder-overlay--top{background:linear-gradient(to bottom,rgba(0,0,0,.6) 0%,rgba(0,0,0,.3) 50%,transparent 100%);padding-bottom:2rem}.viewfinder-overlay--gradient.viewfinder-overlay--bottom{background:linear-gradient(to top,rgba(0,0,0,.6) 0%,rgba(0,0,0,.3) 50%,transparent 100%);padding-top:2rem}.viewfinder-overlay--gradient.viewfinder-overlay--center{background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.viewfinder-overlay__content{display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:100%;padding:.5rem}.viewfinder-overlay--default .viewfinder-overlay__content{color:#fff}.viewfinder-overlay--status .viewfinder-overlay__content{color:#fff;font-size:.875rem;font-weight:500}.viewfinder-overlay--controls .viewfinder-overlay__content{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.75rem;padding:.75rem}.viewfinder-overlay--result .viewfinder-overlay__content{background-color:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 20px #0000004d;max-width:calc(100% - 2rem);max-height:calc(100% - 2rem);overflow:auto}@media(prefers-color-scheme:dark){.viewfinder-overlay--result .viewfinder-overlay__content{background-color:var(--color-dark-elevated, #2a2a2a);color:var(--color-neutral-50, #fafafa)}}@media(min-width:768px){.viewfinder-overlay{padding:1rem}.viewfinder-overlay--status .viewfinder-overlay__content{font-size:.9375rem}.viewfinder-overlay--controls .viewfinder-overlay__content{gap:1rem;padding:1rem}.viewfinder-overlay--result .viewfinder-overlay__content{padding:2rem;max-width:400px}}@media(max-width:480px){.viewfinder-overlay{padding:.25rem}.viewfinder-overlay--gradient.viewfinder-overlay--top{padding-bottom:1.5rem}.viewfinder-overlay--gradient.viewfinder-overlay--bottom{padding-top:1.5rem}.viewfinder-overlay--status .viewfinder-overlay__content{font-size:.8125rem}.viewfinder-overlay--controls .viewfinder-overlay__content{gap:.5rem;padding:.5rem}.viewfinder-overlay--result .viewfinder-overlay__content{padding:1rem;border-radius:8px}}@media(orientation:landscape)and (max-height:500px){.viewfinder-overlay--status .viewfinder-overlay__content{font-size:.75rem;padding:.25rem .5rem}.viewfinder-overlay--controls .viewfinder-overlay__content{padding:.375rem;gap:.375rem}.viewfinder-overlay--result .viewfinder-overlay__content{padding:.75rem;max-height:calc(100vh - 1rem)}}.viewfinder-overlay{animation:overlay-fade-in .2s ease-out}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.viewfinder-overlay--bottom{animation:overlay-slide-up .3s ease-out}@keyframes overlay-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.viewfinder-overlay--top{animation:overlay-slide-down .3s ease-out}@keyframes overlay-slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.viewfinder-overlay--center{animation:overlay-scale-in .3s ease-out}@keyframes overlay-scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.app{height:100%;max-height:100vh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--color-neutral-200);background-color:var(--color-bg-primary)}.app-header h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.app-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem}.app-footer{padding:1rem;text-align:center;border-top:1px solid var(--color-neutral-200);background-color:var(--color-bg-secondary)}.app-footer p{margin:0;font-size:.875rem;color:var(--color-text-muted)}.dark .app-header{background-color:var(--color-dark-surface);border-bottom-color:var(--color-neutral-700)}.dark .app-header h1{color:var(--color-text-primary)}.dark .app-footer{background-color:var(--color-dark-surface);border-top-color:var(--color-neutral-700)}.dark .app-footer p{color:var(--color-text-muted)}.header-actions{display:flex;align-items:center;gap:.5rem}.settings-button{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background:transparent;border:none;border-radius:50%;color:var(--color-text-secondary, #4a4a4a);cursor:pointer;transition:background-color .2s,color .2s,transform .2s}.settings-button:hover{background-color:#0000001a;color:var(--color-text-primary, #213547)}.settings-button:focus{outline:2px solid var(--color-primary-500, #2196f3);outline-offset:2px}.settings-button:active{transform:scale(.95)}.settings-button svg{transition:transform .3s ease}.settings-button:hover svg{transform:rotate(30deg)}.dark .settings-button{color:#ffffffb3}.dark .settings-button:hover{background-color:#ffffff1a;color:#ffffffde}@media(prefers-color-scheme:dark){:root:not(.light) .settings-button{color:#ffffffb3}:root:not(.light) .settings-button:hover{background-color:#ffffff1a;color:#ffffffde}}.toast-container{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:.5rem;z-index:1000;width:100%;max-width:400px;padding:0 1rem;pointer-events:none}@supports (padding-bottom: env(safe-area-inset-bottom)){.toast-container{bottom:calc(1rem + env(safe-area-inset-bottom))}}.toast{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a;pointer-events:auto;animation:toast-slide-in .3s ease-out}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.toast--success{border-left:4px solid var(--color-success-500, #4caf50)}.toast--success .toast__icon{color:var(--color-success-500, #4caf50)}.toast--error{border-left:4px solid var(--color-error-500, #f44336)}.toast--error .toast__icon{color:var(--color-error-500, #f44336)}.toast--warning{border-left:4px solid var(--color-warning-500, #ff9800)}.toast--warning .toast__icon{color:var(--color-warning-500, #ff9800)}.toast--info{border-left:4px solid var(--color-primary-500, #2196f3)}.toast--info .toast__icon{color:var(--color-primary-500, #2196f3)}.toast__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast__content{flex:1;min-width:0}.toast__message{margin:0;font-size:.875rem;line-height:1.4;color:var(--color-text-primary, #213547);word-break:break-word}.toast__close{flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;padding:0;cursor:pointer;color:var(--color-text-muted, #757575);transition:background-color .2s,color .2s;margin-left:auto}.toast__close:hover{background-color:#0000001a;color:var(--color-text-primary, #213547)}.toast__close:focus{outline:2px solid var(--color-primary-500, #2196f3);outline-offset:2px}.toast__svg-icon{width:1.25rem;height:1.25rem}.toast__svg-icon--close{width:1rem;height:1rem}.dark .toast{background-color:var(--color-dark-elevated, #2a2a2a);box-shadow:0 4px 12px #0006,0 2px 4px #0000004d}.dark .toast__message{color:var(--color-text-primary, rgba(255, 255, 255, .87))}.dark .toast__close{color:var(--color-text-muted, #9e9e9e)}.dark .toast__close:hover{background-color:#ffffff1a;color:var(--color-text-primary, rgba(255, 255, 255, .87))}@media(prefers-color-scheme:dark){:root:not(.light) .toast{background-color:#2a2a2a;box-shadow:0 4px 12px #0006,0 2px 4px #0000004d}:root:not(.light) .toast__message{color:#ffffffde}:root:not(.light) .toast__close{color:#9e9e9e}:root:not(.light) .toast__close:hover{background-color:#ffffff1a;color:#ffffffde}}@media(max-width:480px){.toast-container{max-width:100%;padding:0 .75rem}.toast{padding:.75rem;gap:.5rem}.toast__message{font-size:.8125rem}}.scan-result-overlay-backdrop~.toast-container{z-index:1001}.error-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;max-width:420px;margin:0 auto;background-color:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.error-fallback__icon{width:80px;height:80px;padding:1.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.error-fallback__icon svg{width:100%;height:100%}.error-fallback--camera .error-fallback__icon,.error-fallback--scanner .error-fallback__icon{background-color:#ffebee;color:#d32f2f}.error-fallback--permission .error-fallback__icon{background-color:#fff3e0;color:#e65100}.error-fallback--unknown .error-fallback__icon{background-color:#ffebee;color:#d32f2f}.error-fallback__title{margin:0 0 .75rem;font-size:1.5rem;font-weight:600;color:#1a1a1a}.error-fallback__message{margin:0 0 1.5rem;font-size:1rem;line-height:1.6;color:#4a4a4a}.error-fallback__actions{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:280px}.error-fallback__button{padding:.875rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;width:100%}.error-fallback__button:focus-visible{outline:2px solid #1976d2;outline-offset:2px}.error-fallback__button--primary{background-color:#1976d2;color:#fff}.error-fallback__button--primary:hover{background-color:#1565c0}.error-fallback__button--secondary{background-color:#f5f5f5;color:#424242}.error-fallback__button--secondary:hover{background-color:#eee}.error-fallback__details{margin-top:1.5rem;width:100%;text-align:left}.error-fallback__details-summary{cursor:pointer;font-size:.875rem;color:#757575;padding:.5rem 0;-webkit-user-select:none;user-select:none}.error-fallback__details-summary:hover{color:#1976d2}.error-fallback__details-content{margin-top:.75rem;padding:1rem;background-color:#fafafa;border-radius:8px;font-size:.75rem;color:#616161;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;word-break:break-word}.error-fallback__details-content p{margin:.25rem 0}.inline-error{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1rem;background-color:#ffebee;border-radius:8px;border-left:4px solid #d32f2f;margin:1rem 0}.inline-error__content{display:flex;align-items:flex-start;gap:.75rem;flex:1}.inline-error__icon{flex-shrink:0;width:20px;height:20px;color:#d32f2f}.inline-error__icon svg{width:100%;height:100%}.inline-error__message{margin:0;font-size:.875rem;line-height:1.5;color:#b71c1c}.inline-error__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.inline-error__button{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.inline-error__button--retry{background-color:#d32f2f;color:#fff}.inline-error__button--retry:hover{background-color:#c62828}.inline-error__button--dismiss{background-color:transparent;color:#b71c1c;padding:.375rem;display:flex;align-items:center;justify-content:center}.inline-error__button--dismiss:hover{background-color:#b71c1c1a}.inline-error__button--dismiss svg{width:18px;height:18px}@media(prefers-color-scheme:dark){.error-fallback{background-color:#2a2a2a;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -2px #0000004d}.error-fallback__title{color:#f5f5f5}.error-fallback__message{color:#b0b0b0}.error-fallback--camera .error-fallback__icon,.error-fallback--scanner .error-fallback__icon,.error-fallback--unknown .error-fallback__icon{background-color:#d32f2f33}.error-fallback--permission .error-fallback__icon{background-color:#e6510033}.error-fallback__button--secondary{background-color:#3a3a3a;color:#e0e0e0}.error-fallback__button--secondary:hover{background-color:#4a4a4a}.error-fallback__details-summary{color:#9e9e9e}.error-fallback__details-content{background-color:#1a1a1a;color:#9e9e9e}.inline-error{background-color:#d32f2f26;border-left-color:#ef5350}.inline-error__icon{color:#ef5350}.inline-error__message{color:#ffcdd2}.inline-error__button--dismiss{color:#ef5350}.inline-error__button--dismiss:hover{background-color:#ef535026}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.error-fallback__icon--shake{animation:shake .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.inline-error{animation:fadeIn .3s ease-out}@media(max-width:480px){.error-fallback{padding:1.5rem;margin:.5rem}.error-fallback__icon{width:64px;height:64px;padding:1rem}.error-fallback__title{font-size:1.25rem}.error-fallback__message{font-size:.9375rem}.error-fallback__actions{max-width:100%}.inline-error{flex-direction:column;align-items:flex-start}.inline-error__actions{width:100%;justify-content:flex-end}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100%;width:100%;padding:1rem}
