:root{--color-bg: #ffffff;--color-surface: #f4f4f5;--color-border: #d1d1d6;--color-text: #18181b;--color-text-muted: #71717a;--color-text-secondary: #a1a1aa;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-accent-text: #ffffff;--color-danger: #e53e3e;--color-warning-bg: #fef3c7;--color-warning-text: #92400e;--color-warning-bg-alt: #fef9c3;--color-warning-text-alt: #854d0e;--color-success: #22c55e;--color-success-muted: #16a34a;--color-success-bg: #dcfce7;--color-success-text: #166534;--color-success-row: rgba(34, 197, 94, .08);--color-primary: #4f46e5;--color-primary-alpha: rgba(79, 70, 229, .2);--color-surface-hover: #e4e4e7;--color-warning: #b58900;--color-danger-muted: #dc2626;--color-danger-row: rgba(239, 68, 68, .06);--color-overlay-bg: #000000;--color-overlay-text: #ffffff;--color-overlay-dim: rgba(0, 0, 0, .7);--color-overlay-dimmer: rgba(0, 0, 0, .5);--color-overlay-border: rgba(255, 255, 255, .3);--color-overlay-error: rgba(220, 38, 38, .9);--color-torch: #facc15;--color-torch-bg: rgba(250, 204, 21, .3);--color-torch-border: rgba(250, 204, 21, .6);--color-overlay-medium: rgba(0, 0, 0, .6);--color-hover-subtle: rgba(0, 0, 0, .04);--font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--shadow-navbar: 0 1px 0 var(--color-border), 0 2px 8px rgba(0, 0, 0, .06);--shadow-track-inset: inset 0 1px 2px rgba(0, 0, 0, .1);--shadow-thumb: 0 1px 2px rgba(0, 0, 0, .18);--elevation-card-expanded: var(--shadow-md);--elevation-card-collapsed: none;--touch-target: 44px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--transition-fast: .12s ease;--transition-normal: .15s ease;--ease-default: ease;--color-surface-elevated: #e4e4e7;--color-focus-ring: rgba(37, 99, 235, .3)}@media(prefers-color-scheme:dark){:root:not([data-theme]){--color-bg: #09090b;--color-surface: #18181b;--color-surface-elevated: #27272a;--color-border: #27272a;--color-text: #fafafa;--color-text-muted: #a1a1aa;--color-text-secondary: #71717a;--color-accent: #60a5fa;--color-accent-hover: #93c5fd;--color-accent-text: #172554;--color-danger: #fc8181;--color-warning-bg: #78350f;--color-warning-text: #fef3c7;--color-warning-bg-alt: #854d0e;--color-warning-text-alt: #fef9c3;--color-success-muted: #4ade80;--color-success-bg: #166534;--color-success-text: #dcfce7;--color-success-row: rgba(34, 197, 94, .1);--color-primary: #818cf8;--color-primary-alpha: rgba(129, 140, 248, .2);--color-surface-hover: #3f3f46;--color-warning: #facc15;--color-danger-muted: #f87171;--color-danger-row: rgba(239, 68, 68, .08);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5), 0 4px 6px rgba(0, 0, 0, .4);--shadow-navbar: 0 1px 0 var(--color-border), 0 2px 8px rgba(0, 0, 0, .4);--shadow-track-inset: inset 0 1px 2px rgba(0, 0, 0, .25);--shadow-thumb: 0 1px 2px rgba(0, 0, 0, .4);--color-hover-subtle: rgba(255, 255, 255, .06);--color-focus-ring: rgba(96, 165, 250, .3)}}[data-theme=light]{--color-bg: #ffffff;--color-surface: #f4f4f5;--color-surface-elevated: #e4e4e7;--color-border: #d1d1d6;--color-text: #18181b;--color-text-muted: #71717a;--color-text-secondary: #a1a1aa;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-accent-text: #ffffff;--color-danger: #e53e3e;--color-warning-bg: #fef3c7;--color-warning-text: #92400e;--color-warning-bg-alt: #fef9c3;--color-warning-text-alt: #854d0e;--color-success: #22c55e;--color-success-muted: #16a34a;--color-success-bg: #dcfce7;--color-success-text: #166534;--color-success-row: rgba(34, 197, 94, .08);--color-primary: #4f46e5;--color-primary-alpha: rgba(79, 70, 229, .2);--color-surface-hover: #e4e4e7;--color-warning: #b58900;--color-danger-muted: #dc2626;--color-danger-row: rgba(239, 68, 68, .06);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .08)}[data-theme=dark]{--color-bg: #09090b;--color-surface: #18181b;--color-surface-elevated: #27272a;--color-border: #27272a;--color-text: #fafafa;--color-text-muted: #a1a1aa;--color-text-secondary: #71717a;--color-accent: #60a5fa;--color-accent-hover: #93c5fd;--color-accent-text: #172554;--color-danger: #fc8181;--color-warning-bg: #78350f;--color-warning-text: #fef3c7;--color-warning-bg-alt: #854d0e;--color-warning-text-alt: #fef9c3;--color-success-muted: #4ade80;--color-success-bg: #166534;--color-success-text: #dcfce7;--color-success-row: rgba(34, 197, 94, .1);--color-primary: #818cf8;--color-primary-alpha: rgba(129, 140, 248, .2);--color-surface-hover: #3f3f46;--color-warning: #facc15;--color-danger-muted: #f87171;--color-danger-row: rgba(239, 68, 68, .08);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5), 0 4px 6px rgba(0, 0, 0, .4);--shadow-navbar: 0 1px 0 var(--color-border), 0 2px 8px rgba(0, 0, 0, .4);--shadow-track-inset: inset 0 1px 2px rgba(0, 0, 0, .25);--shadow-thumb: 0 1px 2px rgba(0, 0, 0, .4);--color-hover-subtle: rgba(255, 255, 255, .06);--color-focus-ring: rgba(96, 165, 250, .3)}.theme-transitioning *,.theme-transitioning *:before,.theme-transitioning *:after{transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}@media(prefers-reduced-motion:reduce){.theme-transitioning *,.theme-transitioning *:before,.theme-transitioning *:after{transition:none!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background-color:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:clamp(1rem,.96rem + .18vw,1.125rem);line-height:1.5;display:flex;flex-direction:column}.navbar{display:flex;align-items:center;gap:8px;padding:0 12px;background-color:var(--color-surface);box-shadow:var(--shadow-navbar);position:relative;z-index:20;width:100%}@media(min-width:48.0625em){.navbar{padding:0 24px}}.app-name{font-family:var(--font-mono);font-weight:600;font-size:clamp(1rem,.93rem + .36vw,1.25rem);letter-spacing:-.02em;color:var(--color-text);margin:0;flex-shrink:0;padding:12px 0;text-decoration:none}.skip-to-content{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:1000;padding:12px 24px;background:var(--color-accent);color:var(--color-accent-text);font-weight:600;text-decoration:none;border-radius:0 0 var(--radius-md) 0}.skip-to-content:focus{position:fixed;left:0;top:0;width:auto;height:auto;overflow:visible}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tab-bar{display:none;flex:1;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.tab{background:none;border:none;border-bottom:3px solid transparent;padding:12px 16px;color:var(--color-text-muted);cursor:pointer;font-size:inherit;font-family:inherit;line-height:inherit;flex-shrink:0;transition:color var(--transition-normal),border-bottom-color var(--transition-normal),background-color var(--transition-normal);outline:none;border-radius:var(--radius-md) var(--radius-md) 0 0}.tab:after{content:attr(data-label);display:block;font-weight:600;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.tab:hover{color:var(--color-text);background-color:color-mix(in srgb,var(--color-accent) 8%,transparent)}.tab.is-active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.theme-toggle:focus-visible,.hamburger:focus-visible,.wifi-show-hide:focus-visible,.toggle-input:focus-visible+.toggle-track,.btn:focus-visible,.col-qr-checkbox:focus-visible+.col-qr-switch,.btn-col-delete:focus-visible,.btn-row-delete:focus-visible,.scan-copy-btn:focus-visible,.btn-icon:focus-visible,.filter-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tab:focus-visible,.qr-input:focus-visible,input[type=range].qr-input:focus-visible,input[type=color].qr-input:focus-visible,.modal-input:focus-visible,.mobile-nav-item:focus-visible,.qr-subtab:focus-visible,.style-card__header:focus-visible,.style-vtab-menu__item:focus-visible,.col-header-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.theme-toggle{margin-left:auto;flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:8px;min-height:var(--touch-target);min-width:var(--touch-target);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:color var(--transition-normal),background-color var(--transition-normal)}.theme-toggle:hover{color:var(--color-text);background-color:var(--color-border)}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon,[data-theme=dark] .theme-toggle .icon-sun{display:block}[data-theme=dark] .theme-toggle .icon-moon{display:none}.theme-toggle.is-toggling{animation:theme-toggle-spin .2s ease forwards}@keyframes theme-toggle-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(.8)}to{transform:rotate(360deg) scale(1)}}@media(prefers-reduced-motion:reduce){.theme-toggle.is-toggling{animation:none}}.hamburger{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:8px;min-height:var(--touch-target);min-width:var(--touch-target);border-radius:var(--radius-md);transition:color var(--transition-normal),background-color var(--transition-normal);flex-shrink:0}.hamburger:hover{color:var(--color-text);background-color:var(--color-border)}.active-tab-label{display:block;font-size:.85rem;font-weight:500;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.mobile-nav-backdrop{display:none;position:fixed;inset:0;z-index:99}.mobile-nav-menu{display:none;flex-direction:column;position:absolute;left:0;right:0;top:100%;z-index:100;background-color:var(--color-surface);box-shadow:var(--shadow-md);border-top:1px solid var(--color-border)}.mobile-nav-item{background:none;border:none;padding:14px 24px;text-align:left;font-size:1rem;font-family:inherit;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-normal),background-color var(--transition-normal)}.mobile-nav-item:hover{background-color:var(--color-border);color:var(--color-text)}.mobile-nav-item.is-active{color:var(--color-accent);font-weight:600}.mobile-nav-item.is-disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.5}.mobile-nav-item.is-disabled:hover{background-color:transparent;color:var(--color-text-muted)}.mobile-nav-item__badge{font-size:.65rem;margin-left:8px;color:var(--color-text-muted);font-weight:400}.mobile-nav-backdrop.is-open{display:block}.mobile-nav-menu.is-open{display:flex}@media(min-width:48.0625em){.tab-bar{display:flex}.hamburger,.active-tab-label,.mobile-nav-backdrop.is-open,.mobile-nav-menu.is-open{display:none}}main{width:100%;flex:1;overflow:hidden;display:flex;flex-direction:column;position:relative}.card,.qr-card,.batch-toolbar,.compare-toolbar,.scan-list,.compare-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card{padding:12px}.view{display:none;padding:12px;flex:1;overflow:hidden;opacity:0;transition:opacity var(--transition-normal)}.view.is-active{display:flex;flex-direction:column;opacity:1}.view.is-leaving{display:flex;flex-direction:column;position:absolute;inset:0;opacity:0;pointer-events:none;z-index:1}.qr-view{display:grid;grid-template-columns:1fr;gap:12px;flex:1;overflow-y:auto}.qr-subtab-panel.is-active,.style-vtab-content{padding-bottom:140px}@media(min-width:48.0625em){.qr-view{grid-template-columns:1fr 1fr;gap:24px;overflow:hidden}.qr-form{min-height:0;overflow:hidden}.qr-preview-panel{overflow-y:auto}.qr-subtab-panel.is-active{padding-bottom:0}.style-vtab-content{padding-bottom:8px}}.qr-card{display:flex;flex-direction:column;padding:12px}.qr-form{gap:8px}.qr-subtab-bar{display:flex;gap:0;border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10;background-color:var(--color-surface);margin:-12px -12px 12px;padding:0 12px}@media(min-width:48.0625em){.qr-subtab-bar{position:static;top:auto;z-index:auto;background-color:transparent;margin:-16px -16px 12px;padding:0 8px}}.qr-subtab{flex:1;padding:10px 4px;border:none;background:none;color:var(--color-text-muted);font-size:.875rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:color var(--transition-normal),border-color var(--transition-normal);text-align:center;white-space:nowrap}@media(min-width:48.0625em){.qr-subtab{font-size:.8125rem;padding:10px 8px}}.qr-subtab:after{content:attr(data-label);display:block;height:0;overflow:hidden;visibility:hidden;font-weight:700}.qr-subtab:hover{color:var(--color-text)}.qr-subtab.is-active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.qr-subtab:focus-visible{border-radius:var(--radius-sm)}.qr-subtab-panel{display:none}.qr-subtab-panel.is-active{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.subtab-panel--style.is-active{overflow-y:hidden}@media(prefers-reduced-motion:reduce){.qr-subtab{transition:none}}.qr-preview-panel{align-items:center;justify-content:center;position:relative;padding:12px}@media(min-width:48.0625em){.qr-preview-panel{padding:0}}.qr-preview{background:#fff;border-radius:var(--radius-xl);padding:12px;box-shadow:var(--shadow-lg);display:flex;justify-content:center;align-items:center;max-width:400px;width:100%;margin:0 auto}[data-theme=dark] .qr-preview{border-radius:var(--radius-md);box-shadow:none;border:1px solid var(--color-border)}.qr-frame-canvas{max-width:100%;height:auto}.qr-preview-panel.is-miniature{position:fixed;bottom:0;right:0;width:120px;height:120px;border-radius:var(--radius-lg) 0 0 0;box-shadow:var(--shadow-lg);z-index:50;padding:6px;overflow:hidden;cursor:pointer;background:#fff;border:2px solid var(--color-border)}.qr-preview-panel.is-miniature .qr-preview{padding:0;box-shadow:none;border-radius:0;max-width:100%;transform-origin:top left}.qr-preview-panel.is-miniature .qr-preview canvas,.qr-preview-panel.is-miniature .qr-preview svg{width:100%;height:auto}.qr-preview-panel.is-miniature .qr-contrast-warning,.qr-preview-panel.is-miniature .qr-payload-size,.qr-preview-panel.is-miniature .qr-capacity-warning,.qr-preview-panel.is-miniature .download-controls{display:none}.qr-preview-panel.is-expanded{position:fixed;inset:0;z-index:100;padding:24px;background:#0009;display:flex;align-items:center;justify-content:center;border:none;border-radius:0;cursor:pointer}.qr-preview-panel.is-expanded .qr-preview{max-width:350px}.qr-preview-panel.is-expanded .download-controls{display:none}[data-theme=dark] .qr-preview-panel.is-miniature{background:var(--color-surface)}.download-controls{flex-direction:column;align-items:stretch}.download-controls .btn-sm{width:100%;justify-content:center}.download-controls .toolbar-select{width:100%}@media(min-width:48.0625em){.download-controls{flex-direction:row;align-items:center}.download-controls .btn-sm{width:auto;justify-content:flex-start}.download-controls .toolbar-select{width:auto}}.qr-input{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:.875rem;line-height:inherit;min-height:var(--touch-target)}select.qr-input,select.toolbar-select,select.template-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;padding-right:34px;cursor:pointer}[data-theme=dark] select.qr-input,[data-theme=dark] select.toolbar-select,[data-theme=dark] select.template-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}textarea.qr-input{resize:vertical;max-width:100%}.qr-label{display:block;margin-bottom:4px;font-size:clamp(.875rem,.84rem + .18vw,1rem);color:var(--color-text-muted)}.qr-label--inline{margin-bottom:0}.format-fields{display:none}.format-fields.is-active{display:block;margin-top:4px;padding-top:12px;border-top:1px solid var(--color-border)}.vcard-grid{display:grid;grid-template-columns:1fr;gap:8px}@media(min-width:48.0625em){.vcard-grid{grid-template-columns:1fr 1fr}}.vcard-grid .vcard-full{grid-column:1 / -1}.vcard-grid .field-group{margin-bottom:0}.vcard-grid .qr-label{margin-bottom:2px}.content-fields-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:48.0625em){.content-fields-grid{grid-template-columns:1fr 1fr}}.content-fields-grid .field-group{margin-bottom:0}.content-fields-grid .field-group-full{grid-column:1 / -1}.field-group{margin-bottom:12px}.warning-banner{background:var(--color-warning-bg);color:var(--color-warning-text);padding:8px 12px;border-radius:var(--radius-md);font-size:.875rem;margin-bottom:12px}.qr-contrast-warning{position:absolute;bottom:16px;left:16px;right:16px;margin:0}.field-error{color:var(--color-danger);font-size:.8125rem;margin-top:4px;margin-bottom:0}.qr-input--invalid{border-color:var(--color-danger)}.qr-input--invalid:focus-visible{outline-color:var(--color-danger)}.char-count{font-size:.75rem;color:var(--color-text-muted);text-align:right;margin-top:2px}.char-count--warn{color:var(--color-warning)}.char-count--over{color:var(--color-danger);font-weight:600}.payload-size{font-size:.75rem;color:var(--color-text-muted);text-align:center;margin-top:8px}.payload-size--warn{color:var(--color-warning)}.payload-size--over{color:var(--color-danger);font-weight:600}.qr-style-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.qr-style-controls .field-group-full{grid-column:1 / -1}.gradient-section-heading{margin-top:8px}.gradient-section-heading .section-heading{margin-top:8px;margin-bottom:0}.gradient-target-group{grid-column:1 / -1;border-top:1px solid var(--color-border);padding-top:8px}.gradient-target-group:first-of-type{border-top:none}.gradient-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin-top:8px}.gradient-controls .field-group-full{grid-column:1 / -1}.gradient-angle-wrapper input[type=range]{height:var(--touch-target)}.frame-controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.frame-controls-grid .field-group-full{grid-column:1 / -1}input[type=range].qr-input{appearance:none;-webkit-appearance:none;width:100%;padding:0;min-height:unset;height:20px;border:none;background:transparent;outline:none;cursor:pointer;box-sizing:border-box;vertical-align:middle;margin:4px 0}input[type=range].qr-input::-webkit-slider-runnable-track{height:8px;border-radius:var(--radius-sm);background:linear-gradient(to right,var(--color-accent) 0%,var(--color-accent) var(--range-fill, 0%),var(--color-surface-elevated) var(--range-fill, 0%),var(--color-surface-elevated) 100%);box-shadow:var(--shadow-track-inset)}input[type=range].qr-input::-moz-range-track{height:8px;border-radius:var(--radius-sm);background:var(--color-surface-elevated);box-shadow:var(--shadow-track-inset);border:none}input[type=range].qr-input::-moz-range-progress{background:var(--color-accent);border-radius:var(--radius-sm);height:8px}input[type=range].qr-input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-accent);cursor:pointer;border:2px solid var(--color-bg);box-shadow:var(--shadow-sm);margin-top:-6px;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}input[type=range].qr-input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--color-accent);cursor:pointer;border:2px solid var(--color-bg);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}input[type=range].qr-input::-webkit-slider-thumb:hover{background:var(--color-accent-hover);transform:scale(1.15);box-shadow:var(--shadow-md)}input[type=range].qr-input:hover::-moz-range-thumb{background:var(--color-accent-hover);transform:scale(1.15);box-shadow:var(--shadow-md)}input[type=range].qr-input:active::-webkit-slider-thumb{background:var(--color-accent-hover);transform:scale(.95);box-shadow:none}input[type=range].qr-input:active::-moz-range-thumb{background:var(--color-accent-hover);transform:scale(.95);box-shadow:none}input[type=range].qr-input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--color-focus-ring)}input[type=range].qr-input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--color-focus-ring)}.style-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);overflow:hidden;margin-bottom:8px;transition:box-shadow var(--transition-normal),border-color var(--transition-normal)}.style-card__header{display:flex;flex-direction:row;width:100%;padding:10px 12px;background:var(--color-surface);border:none;cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--color-text);text-align:left;gap:8px;justify-content:space-between;align-items:center}.style-card__header:hover{background:var(--color-surface-elevated)}.style-card__title{flex:1}.style-card__badge{width:8px;height:8px;border-radius:50%;background:var(--color-accent);flex-shrink:0;display:none}.style-card__badge--active{display:block}.style-card__chevron{flex-shrink:0;transition:transform var(--transition-normal)}.style-card--collapsed .style-card__chevron{transform:rotate(-90deg)}.style-card__body-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--transition-normal)}.style-card--collapsed .style-card__body-wrap{grid-template-rows:0fr}.style-card__body{overflow:hidden;min-height:0}.style-card__body>*{padding:12px}.style-card__body-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;justify-items:center}.style-card__body-grid>.field-group{text-align:center}.style-card__body-grid .color-picker-wrap{justify-content:center}.style-card__body-grid .field-group-full{grid-column:1 / -1}.style-card__body-grid--left-align{justify-items:stretch}.style-card__body-grid--left-align>.field-group{text-align:left}.style-card__body-grid--left-align .color-picker-wrap{justify-content:flex-start}.style-card .gradient-target-group{border-top:none;padding-top:0}.style-card:not(.style-card--collapsed){box-shadow:var(--elevation-card-expanded);border-color:var(--color-text-muted)}.style-card:not(.style-card--collapsed) .style-card__header{background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border)}.style-vtab-layout{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:0;min-height:auto;flex:none}@media(min-width:48.0625em){.style-vtab-layout{grid-template-columns:140px 1fr;grid-template-rows:none;flex:1;min-height:0}}.style-vtab-menu{display:flex;flex-direction:row;gap:4px;padding:4px 0;overflow-x:auto;overflow-y:hidden;border-right:none;border-bottom:1px solid var(--color-border);background:var(--color-surface);-webkit-overflow-scrolling:touch;scroll-behavior:smooth;touch-action:pan-x;min-width:0;flex:1;scrollbar-width:none}.style-vtab-menu::-webkit-scrollbar{display:none}@media(min-width:48.0625em){.style-vtab-menu{flex-direction:column;overflow-x:visible;overflow-y:auto;border-right:1px solid var(--color-border);border-bottom:none;min-width:auto;flex:initial;touch-action:auto;scroll-behavior:auto}}.style-vtab-menu__item{display:flex;align-items:center;width:100%;padding:10px 14px;border:none;background:none;color:var(--color-text-muted);font-size:.9375rem;font-weight:500;text-align:left;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap;line-height:1.3;min-height:var(--touch-target);scroll-snap-align:start}@media(min-width:48.0625em){.style-vtab-menu__item{display:block;padding:8px 12px;font-size:.78rem;border-radius:var(--radius-sm) 0 0 var(--radius-sm);min-height:auto;scroll-snap-align:none}}.style-vtab-menu__item:hover{background:var(--color-surface);color:var(--color-text)}.style-vtab-menu__item--active{background:var(--color-accent);color:var(--color-accent-text);font-weight:600}.style-vtab-menu__item--active:hover{background:var(--color-accent-hover)}.style-vtab-menu__item--danger{margin-top:auto;color:var(--color-danger);font-size:.875rem}@media(min-width:48.0625em){.style-vtab-menu__item--danger{font-size:.72rem}}.style-vtab-menu__item--danger:hover{background:var(--color-danger-row);color:var(--color-danger)}.style-vtab-content{padding:12px 0 0;overflow-y:auto}@media(min-width:48.0625em){.style-vtab-content{padding:8px 0 8px 16px}}.style-vtab-section--hidden{display:none}.style-vtab-carousel{display:flex;align-items:center;overflow:hidden;min-width:0;position:sticky;top:0;z-index:10;background-color:var(--color-surface);gap:4px;mask-image:linear-gradient(to right,transparent,black 12px,black calc(100% - 12px),transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 12px,black calc(100% - 12px),transparent)}@media(min-width:48.0625em){.style-vtab-carousel{align-items:stretch;mask-image:none;-webkit-mask-image:none}}.carousel__arrow{display:flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:1.25rem;cursor:pointer;flex-shrink:0;z-index:2;padding:0;line-height:1;transition:opacity .15s ease}.carousel__arrow:hover{background:var(--color-surface-hover)}.carousel__arrow:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.carousel__arrow--hidden{opacity:0;pointer-events:none}@media(min-width:48.0625em){.carousel__arrow{display:none}}@media(prefers-reduced-motion:reduce){.style-vtab-menu__item{transition:none}}.section-heading{font-size:clamp(.875rem,.84rem + .18vw,1rem);letter-spacing:normal;color:var(--color-text-muted);margin-bottom:8px;margin-top:16px;font-weight:600}input[type=color].qr-input{appearance:none;-webkit-appearance:none;min-height:var(--touch-target);height:var(--touch-target);width:100%;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);padding:2px;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}input[type=color].qr-input:hover{border-color:var(--color-text-muted)}input[type=color].qr-input::-webkit-color-swatch-wrapper{padding:0;border-radius:calc(var(--radius-md) - 2px)}input[type=color].qr-input::-webkit-color-swatch{border:none;border-radius:calc(var(--radius-md) - 2px)}input[type=color].qr-input::-moz-color-swatch{border:none;border-radius:calc(var(--radius-md) - 2px)}.color-picker-wrap{display:flex;align-items:center;gap:8px}.color-picker-wrap input[type=color].qr-input{flex:0 0 40px;width:40px}@media(min-width:48.0625em){.color-picker-wrap input[type=color].qr-input{flex:0 0 48px;width:48px}}.color-hex-label{font-family:var(--font-mono, ui-monospace, monospace);font-size:.8125rem;color:var(--color-text-muted);-webkit-user-select:all;user-select:all;min-width:5ch}@keyframes cwFadeIn{0%{opacity:0}to{opacity:1}}.color-wheel-backdrop{position:fixed;inset:0;background:#0009;z-index:9999;display:flex;align-items:center;justify-content:center;animation:cwFadeIn .15s ease-out}.color-wheel-modal{background:var(--color-surface);border-radius:var(--radius-lg, 12px);padding:20px;width:90vw;max-width:320px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;align-items:center;gap:16px}.color-wheel-canvas{touch-action:none;cursor:crosshair;border-radius:50%}.color-wheel-controls{width:100%;display:flex;flex-direction:column;gap:12px}.color-wheel-controls label{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--color-text-muted)}.color-wheel-controls input[type=range]{flex:1}.color-wheel-preview-row{display:flex;align-items:center;gap:12px;width:100%}.color-wheel-swatch{width:48px;height:48px;border-radius:var(--radius-md);border:2px solid var(--color-border);flex-shrink:0}.color-wheel-hex-input{flex:1;font-family:var(--font-mono, ui-monospace, monospace);font-size:1rem;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);text-align:center}.color-wheel-buttons{display:flex;gap:12px;width:100%}.color-wheel-buttons button{flex:1;padding:10px 16px;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;border:1px solid var(--color-border);min-height:var(--touch-target)}.color-wheel-btn-cancel{background:var(--color-surface);color:var(--color-text)}.color-wheel-btn-apply{background:var(--color-accent, #4f46e5);color:var(--color-accent-text);border-color:var(--color-accent, #4f46e5)}.wifi-password-wrapper{position:relative;display:flex;align-items:center}.wifi-password-wrapper .qr-input{padding-right:40px}.wifi-show-hide{position:absolute;right:8px;background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:.875rem;padding:4px;min-height:var(--touch-target);min-width:var(--touch-target);display:inline-flex;align-items:center;justify-content:center}.toggle-switch{display:inline-flex;align-items:center;gap:8px;min-height:var(--touch-target);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toggle-track{position:relative;display:inline-block;width:36px;height:20px;background:var(--color-border);border-radius:10px;transition:background var(--transition-normal);flex-shrink:0}.toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;background:var(--color-bg);border-radius:50%;transition:transform var(--transition-normal);box-shadow:var(--shadow-thumb)}.toggle-input:checked+.toggle-track{background:var(--color-accent)}.toggle-input:checked+.toggle-track:after{transform:translate(16px)}.toggle-label{font-size:.875rem;color:var(--color-text);line-height:1.2}.logo-upload-area{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.logo-section-divider{border:none;border-top:1px solid var(--color-border);margin:16px 0 4px;opacity:.5}.logo-color-field{margin-top:16px}.logo-preloaded-header{display:flex;align-items:center;justify-content:space-between;margin:16px 0 10px;gap:8px}.logo-preloaded-heading{font-size:.8125rem;font-weight:600;color:var(--color-text-muted)}.logo-preloaded-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:10px}.logo-preloaded-item{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;box-shadow:0 1px 2px #0000000a;transition:border-color var(--transition-normal),background var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal)}.logo-preloaded-item:hover{border-color:var(--color-accent);box-shadow:0 2px 6px #00000014;transform:translateY(-1px)}.logo-preloaded-item--active{border-color:var(--color-accent);background:var(--color-accent-subtle, rgba(59,130,246,.08));box-shadow:0 0 0 2px var(--color-accent-subtle, rgba(59,130,246,.15))}@media(prefers-reduced-motion:reduce){.logo-preloaded-item:hover{transform:none}}.logo-preloaded-item svg{width:24px;height:24px;fill:var(--color-text)}.btn{padding:12px 16px;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;border:none;font-family:inherit;line-height:1;transition:background-color var(--transition-normal),color var(--transition-normal);min-height:var(--touch-target);min-width:var(--touch-target)}.btn-primary{background:var(--color-accent);color:var(--color-accent-text);font-weight:600;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-md)}.btn-primary:active{box-shadow:none;transform:translateY(1px)}.btn-secondary{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface);color:var(--color-text);border-color:var(--color-text-muted)}.btn-danger{color:var(--color-danger);background:transparent;border-color:var(--color-danger)}.btn-danger:hover:not(:disabled),.btn-danger:focus-visible:not(:disabled){background:var(--color-danger);color:var(--color-accent-text)}.btn-danger:disabled{color:var(--color-text-muted);border-color:var(--color-text-muted)}.btn-sm{padding:8px 12px;font-size:.875rem;min-height:var(--touch-target);min-width:var(--touch-target)}.download-controls{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px}.download-controls .qr-share-btn{margin-left:auto}.toolbar-select{width:auto;min-height:var(--touch-target);font-size:.875rem}.import-export-section{margin-bottom:var(--spacing-md, 16px)}.section-divider{border:none;border-top:1px solid var(--color-border);margin:16px 0}.import-export-section__heading{font-size:.8125rem;font-weight:600;color:var(--color-text);margin:0 0 8px;padding:0 0 6px;border-bottom:2px solid var(--color-accent);display:inline-block}.template-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.template-controls--buttons{margin-top:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px}.template-controls--dropdown{margin-top:4px}.template-controls--dropdown .template-select{width:100%;flex:1;min-height:var(--touch-target)}.template-select{min-width:120px;min-height:var(--touch-target)}.card-preview-wrap{display:flex;justify-content:center;margin-bottom:4px;padding:8px 0}@media(min-width:48.0625em){.card-preview-wrap{margin-bottom:8px}}.card-preview{position:relative;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.card-preview__qr{position:absolute;background:repeating-conic-gradient(var(--color-surface-elevated) 0% 25%,transparent 0% 50%) 0 0 / 10px 10px,var(--color-surface);border-radius:var(--radius-sm);opacity:.6;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.card-field{position:absolute;transform:translate(-50%,-50%);cursor:grab;padding:2px 8px 2px 6px;background:var(--color-surface-elevated);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:500;white-space:nowrap;-webkit-user-select:none;user-select:none;touch-action:none;z-index:1;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),font-size var(--transition-normal)}.card-field:hover{box-shadow:var(--shadow-md)}.card-field.is-dragging{cursor:grabbing;box-shadow:var(--shadow-lg);opacity:.9}.card-designer-layout{display:flex;flex-direction:column;gap:12px}.card-designer-section-label{font-size:.6875rem;font-weight:600;letter-spacing:normal;color:var(--color-text-muted);margin-bottom:2px}.card-fields-list{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.card-field-row{display:flex;align-items:center;gap:8px;font-size:.8125rem;padding:2px 0}.card-field-row__label{flex:1;color:var(--color-text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-field-row__size{width:52px;padding:3px 6px;font-size:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);text-align:center}.card-field-row__size:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.card-field-row__unit{font-size:.6875rem;color:var(--color-text-muted)}.card-field-row__color{width:32px;height:28px;padding:2px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;-webkit-appearance:none;appearance:none}.card-field-row__color::-webkit-color-swatch-wrapper{padding:0}.card-field-row__color::-webkit-color-swatch{border:none;border-radius:2px}.card-field-row__color::-moz-color-swatch{border:none;border-radius:2px}.batch-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px;padding:12px 16px}.batch-grid-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.batch-grid{min-width:100%;border-collapse:collapse}.batch-grid thead{border-bottom:2px solid var(--color-border)}.batch-grid th{background:var(--color-surface-elevated);padding:8px 16px;vertical-align:middle;text-align:left;white-space:nowrap;border:none;border-right:1px solid var(--color-border)}.batch-grid th:last-child{border-right:none}.batch-grid th:not(.col-num):not(.col-actions),.batch-grid td:not(.col-num):not(.col-actions){min-width:120px}.batch-grid th.col-num{width:48px;text-align:center;vertical-align:middle}.col-num{width:48px;text-align:center;color:var(--color-text-muted);font-weight:600}.col-header-row{display:flex;align-items:center;gap:8px}.col-header-input{border:none;background:transparent;font-size:.8125rem;font-weight:700;letter-spacing:.02em;flex:1;min-width:0;font-family:inherit;color:var(--color-text);padding:2px 4px;margin:-2px -4px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.col-header-input:hover{background:var(--color-hover-subtle)}.col-header-input:focus-visible{background:var(--color-bg)}.col-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.col-qr-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.col-qr-checkbox{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.col-qr-switch{position:relative;display:inline-block;width:26px;height:14px;background:var(--color-border);border-radius:7px;transition:background var(--transition-normal);flex-shrink:0}.col-qr-switch:after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;background:var(--color-bg);border-radius:50%;transition:transform var(--transition-normal);box-shadow:var(--shadow-thumb)}.col-qr-checkbox:checked+.col-qr-switch{background:var(--color-accent)}.col-qr-checkbox:checked+.col-qr-switch:after{transform:translate(12px)}.col-qr-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.btn-col-delete{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:2px;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);flex-shrink:0;line-height:1}.btn-col-delete:hover{color:var(--color-danger);background:var(--color-danger-row)}.btn-row-delete{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:4px;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);line-height:1}.btn-row-delete:hover{color:var(--color-danger);background:var(--color-danger-row)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed}.batch-grid td{padding:0;vertical-align:middle;border:none;border-right:1px solid var(--color-border)}.batch-grid td:last-child{border-right:none}.batch-grid td.col-num{padding:8px 4px}.row-badge{display:inline-block;font-family:var(--font-mono);font-size:.75rem;font-weight:500;color:var(--color-text-muted);min-width:24px;text-align:center}.col-actions{width:48px;text-align:center}.cell-input{display:block;width:100%;border:none;background:transparent;padding:10px 14px;font-family:inherit;font-size:.875rem;color:var(--color-text);transition:background var(--transition-fast),box-shadow var(--transition-fast)}.cell-input:focus{outline:none;background:var(--color-bg);box-shadow:inset 0 -2px 0 var(--color-accent)}.batch-grid tbody tr:not(.add-row){transition:background var(--transition-fast),box-shadow var(--transition-fast)}.batch-grid tbody tr:not(:last-child):not(.add-row) td{border-bottom:1px solid var(--color-border)}.batch-grid tbody tr:not(.add-row):hover{background:var(--color-surface);box-shadow:inset 3px 0 0 var(--color-accent)}.add-row td{border-top:2px dashed var(--color-border);padding-top:4px;padding-bottom:4px}.add-row-input{display:block;width:100%;padding:8px 14px;font-size:.875rem;color:var(--color-text);background:transparent;border:none;outline:none;transition:background var(--transition-fast),box-shadow var(--transition-fast)}.add-row-input::placeholder{color:var(--color-text-secondary);font-style:italic}.add-row-input:focus-visible{background:var(--color-bg);box-shadow:inset 0 -2px 0 var(--color-accent)}.btn-empty-add-col{margin-top:8px}.import-preview{margin-top:1rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:auto}.preview-table{width:100%;border-collapse:collapse;font-size:.875rem}.preview-table th,.preview-table td{border:1px solid var(--color-border);padding:.25rem .5rem}.preview-table th{background:var(--color-surface);font-weight:600}.preview-more{text-align:center;color:var(--color-text-muted);font-style:italic;padding:.5rem;font-size:.875rem}.preview-actions{display:flex;gap:8px;margin-top:1rem}.export-progress{padding:.5rem 0;font-size:.875rem;color:var(--color-text-muted);font-family:var(--font-mono, "SF Mono", "Fira Code", "Cascadia Code", monospace)}.export-progress-text{margin-bottom:.375rem}.export-progress-bar{width:100%;height:6px;background:var(--color-border, #e0e0e0);border-radius:3px;overflow:hidden;margin-bottom:.5rem}.export-progress-bar-fill{height:100%;width:0%;background:var(--color-primary);border-radius:3px;transition:width .15s ease-out}.btn-export-abort{margin-top:.25rem}.loading-indicator{display:flex;align-items:center;gap:8px;color:var(--color-text-muted);font-size:.875rem;padding:.5rem 0}.loading-indicator:before{content:"";width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-indicator:before{animation:none;border-top-color:var(--color-border)}}.compare-toolbar{display:flex;gap:8px;padding:12px 16px;flex-wrap:wrap;margin-bottom:16px;align-items:center}.import-dropdown{position:relative}.import-dropdown__menu{display:none;position:absolute;top:calc(100% + 4px);left:0;z-index:50;min-width:140px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:4px 0;margin-top:0}.import-dropdown__menu.is-open{display:block}.import-dropdown__item{display:block;width:100%;padding:8px 12px;border:none;background:none;cursor:pointer;font-size:.875rem;color:var(--color-text);text-align:left;white-space:nowrap}.import-dropdown__item:hover,.import-dropdown__item:focus-visible{background:var(--color-surface-elevated)}.import-dropdown__item:disabled{opacity:.4;cursor:default;background:none}.scan-search-container{margin-bottom:12px}.scan-search-input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md, 6px);background:var(--color-surface);color:var(--color-text);font-size:.875rem;outline:none;transition:border-color var(--transition-fast);box-sizing:border-box}.scan-search-input:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha)}.scan-search-input::placeholder{color:var(--color-text-muted)}.scan-list{list-style:none;padding:0;margin:0}.scan-list li{padding:.75rem 1rem;border-bottom:1px solid var(--color-border);word-break:break-all;font-family:var(--font-mono, "SF Mono", "Fira Code", "Cascadia Code", monospace);font-size:.875rem;display:flex;align-items:center;gap:8px}.scan-payload{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.scan-copy-btn{flex-shrink:0;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px;cursor:pointer;font-size:.8rem;color:var(--color-text-muted);transition:color var(--transition-normal),border-color var(--transition-normal);min-height:32px;min-width:32px;display:inline-flex;align-items:center;justify-content:center}.scan-copy-btn:hover{color:var(--color-accent);border-color:var(--color-accent)}.scan-copy-btn.is-copied{color:var(--color-success-muted);border-color:var(--color-success-muted)}.view-scan{padding:0;overflow:hidden}.scan-camera-view{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--color-overlay-bg);position:relative;overflow:hidden}.scan-camera-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--color-overlay-medium);position:absolute;top:0;left:0;right:0;z-index:10}.scan-camera-topbar .btn-icon{color:var(--color-overlay-text)}.scan-count-badge{font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:600;color:var(--color-overlay-text);background:var(--color-overlay-dimmer);padding:4px 12px;border-radius:9999px}.scan-topbar-left{display:flex;align-items:center;gap:8px}.scan-camera-bottom{position:absolute;bottom:0;left:0;right:0;padding:16px;display:flex;justify-content:center;background:linear-gradient(transparent,var(--color-overlay-medium));z-index:10}.scan-done-btn{min-width:120px;padding:12px 32px;font-size:1rem;font-weight:600;border-radius:var(--radius-lg)}.scan-video-container{flex:1;position:relative;overflow:hidden}.scan-video-container video{width:100%;height:100%;object-fit:cover}.scan-feedback{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4rem;color:var(--color-success);background:var(--color-overlay-dimmer);border-radius:50%;width:5rem;height:5rem;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;z-index:102;transition:opacity var(--transition-normal)}.scan-feedback.is-visible{opacity:1}.scan-camera-error{position:absolute;bottom:5rem;left:1rem;right:1rem;background:var(--color-overlay-error);color:var(--color-overlay-text);padding:1rem;border-radius:var(--radius-lg);text-align:center;font-size:.875rem;z-index:11}.btn-icon{background:transparent;border:1px solid var(--color-overlay-border);color:var(--color-overlay-text);border-radius:var(--radius-md);padding:.5rem;cursor:pointer;display:flex;align-items:center;min-height:var(--touch-target);min-width:var(--touch-target)}.btn-icon.is-on{background:var(--color-torch-bg);border-color:var(--color-torch-border);color:var(--color-torch)}.compare-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:.75rem}.compare-title{margin-top:0;margin-bottom:0}.compare-summary{font-size:.875rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.compare-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.compare-table{width:100%;border-collapse:collapse;font-size:.875rem}.compare-table th,.compare-table td{border:1px solid var(--color-border);padding:.5rem .75rem;text-align:left}.compare-table th{background:var(--color-surface);font-weight:600;font-size:.875rem;letter-spacing:normal}.compare-th-status{width:5rem;text-align:center}.compare-th-id{width:3rem;text-align:center}.compare-table td:nth-child(1){text-align:center}.compare-table td:nth-child(2){text-align:center;font-weight:600;color:var(--color-text-muted)}.compare-row-present{background:var(--color-success-row)}.compare-row-absent{background:var(--color-danger-row)}.compare-status-present{color:var(--color-success-muted);font-weight:600}.compare-status-absent{color:var(--color-danger-muted);font-weight:600}.compare-scan-info{font-size:.875rem;color:var(--color-text-muted);padding:.5rem .75rem;background:var(--color-surface);border-radius:var(--radius-md);margin-bottom:.75rem}.compare-scan-files{font-size:.875rem;opacity:.8}.filter-group{display:flex;gap:0;margin-bottom:.75rem}.filter-btn{padding:8px 16px;font-size:.875rem;font-family:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;line-height:1;transition:background-color var(--transition-normal),color var(--transition-normal);margin-left:-1px;min-height:var(--touch-target);min-width:var(--touch-target)}.filter-btn:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md);margin-left:0}.filter-btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.filter-btn.is-active{background:var(--color-accent);color:var(--color-accent-text);border-color:var(--color-accent);position:relative;z-index:1}.filter-btn:hover:not(.is-active){background:var(--color-border)}.filter-btn:focus-visible{position:relative;z-index:2}.compare-empty-filter{text-align:center;color:var(--color-text-muted);padding:1.5rem;font-size:.875rem}.modal-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:var(--color-overlay-dimmer);opacity:0;transition:opacity var(--transition-normal)}.modal-overlay[hidden]{display:none}.modal-overlay.is-visible{opacity:1}.modal-dialog{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:24px;max-width:400px;width:calc(100% - 32px);box-shadow:var(--shadow-lg);transform:scale(.95);transition:transform var(--transition-normal)}.modal-overlay.is-visible .modal-dialog{transform:scale(1)}.modal-title{font-size:clamp(1rem,.93rem + .36vw,1.25rem);font-weight:600;margin:0 0 8px;color:var(--color-text)}.modal-body{font-size:clamp(.9375rem,.92rem + .09vw,1rem);color:var(--color-text-muted);margin:0 0 16px;line-height:1.5}.modal-input-wrap{margin:0 0 16px}.modal-input{width:100%;padding:8px 12px;font-size:.95rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);box-sizing:border-box}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:900;pointer-events:none}.toast{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:10px 20px;font-size:.875rem;white-space:nowrap;pointer-events:auto;animation:toast-enter .2s var(--ease-default) both}.toast--exiting{animation:toast-exit .2s var(--ease-default) both}@keyframes toast-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.toast,.toast--exiting{animation:none}}.card,.scan-list,.compare-panel{position:relative;transition:transform var(--transition-fast)}.card:after,.scan-list:after,.compare-panel:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:var(--shadow-md);opacity:0;transition:opacity var(--transition-fast);pointer-events:none;z-index:-1}.card:hover,.scan-list:hover,.compare-panel:hover{transform:translateY(-2px)}.card:hover:after,.scan-list:hover:after,.compare-panel:hover:after{opacity:1}@media(prefers-reduced-motion:reduce){.card:hover,.scan-list:hover,.compare-panel:hover{transform:none}}.pwa-install-banner{position:fixed;bottom:0;left:0;right:0;z-index:800;background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -2px 10px #0000001a;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;transform:translateY(100%);transition:transform .3s ease-out}.pwa-install-banner.is-visible{transform:translateY(0)}.pwa-install-banner.is-leaving{transform:translateY(100%)}.pwa-install-message{font-size:.875rem;color:var(--color-text);flex:1;min-width:0}.pwa-install-actions{display:flex;gap:8px;flex-shrink:0}.pwa-install-btn{background:var(--color-accent);color:var(--color-accent-text);border:none;border-radius:6px;padding:8px 16px;font-size:.8125rem;font-weight:600;cursor:pointer;white-space:nowrap}.pwa-install-btn:hover{background:var(--color-accent-hover)}.pwa-install-dismiss{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:6px;padding:8px 12px;font-size:.8125rem;cursor:pointer;white-space:nowrap}.pwa-install-dismiss:hover{background:var(--color-surface-hover, rgba(0, 0, 0, .04))}@media(min-width:769px){.pwa-install-banner{display:none}}@media(prefers-reduced-motion:reduce){.pwa-install-banner{transition:none}}.decode-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;max-width:480px;margin:0 auto;min-height:140px;border:2px dashed var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition-normal);position:relative;padding:16px}.decode-dropzone:hover{border-color:var(--color-text-muted)}.decode-dropzone:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.decode-dropzone.is-dragover{border-color:var(--color-accent);background:#2563eb0f}[data-theme=dark] .decode-dropzone.is-dragover{background:#60a5fa14}.decode-dropzone.is-dragover .decode-dropzone__icon,.decode-dropzone.is-dragover .decode-dropzone__text,.decode-dropzone.is-dragover .decode-dropzone__hint{opacity:.4}.decode-dropzone.is-dragover .decode-dropzone__overlay{display:flex}.decode-dropzone__icon{color:var(--color-text-muted)}.decode-dropzone__text{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.decode-dropzone__hint{font-size:.8125rem;color:var(--color-text-muted);margin:0}.decode-dropzone__overlay{display:none;position:absolute;inset:0;align-items:center;justify-content:center;font-size:1.125rem;font-weight:600;color:var(--color-accent);border-radius:var(--radius-lg);pointer-events:none}.decode-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:1060px;margin:0 auto}.decode-layout>*{min-width:0;min-height:0;overflow:hidden}.decode-layout .decode-preview-card{max-width:none;margin:0;display:flex;flex-direction:column;border:1px solid var(--color-border)}.decode-layout .decode-preview-card img{width:100%;max-height:350px;object-fit:contain}.decode-layout .decode-result{overflow-y:auto;margin-top:0;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:var(--space-md, 1rem) var(--space-lg, 1.5rem);display:flex;align-items:flex-start;justify-content:flex-start}.decode-layout .decode-result-card{box-shadow:none;padding:0;width:100%}.decode-layout .decode-result-error{padding:0}.decode-layout .decode-dropzone{max-width:none;width:auto;margin:0}.decode-layout .decode-info{overflow-y:auto;max-width:none;margin:0;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:var(--space-lg, 1.5rem);display:flex;flex-direction:column;justify-content:flex-start}@media(max-width:768px){.decode-layout{grid-template-columns:1fr}.decode-layout>*{overflow:visible}}.decode-preview-card{max-width:400px;margin:0 auto;padding:16px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:var(--color-surface);text-align:center}.decode-preview-card img{max-width:100%;max-height:300px;object-fit:contain;display:block;margin:0 auto;border-radius:var(--radius-sm)}.decode-preview-card__actions{margin-top:12px;display:flex;justify-content:center}.decode-result{margin-top:var(--space-md, 1rem)}.decode-result--loading{text-align:center;color:var(--color-text-muted);font-style:italic;padding:var(--space-md, 1rem) 0}.decode-result-card{background:var(--color-surface, #fff);border-radius:var(--radius-md, 8px);padding:var(--space-lg, 1.5rem);box-shadow:0 1px 3px #0000001a}.decode-result-card h3{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0 0 var(--space-sm, .5rem) 0}.decode-result-card__text{word-break:break-all;white-space:pre-wrap;font-family:monospace;font-size:.9rem;line-height:1.5;color:var(--color-text);max-height:300px;overflow-y:auto;margin:0}.decode-type-label{display:inline-block;background:var(--color-accent, #2563eb);color:var(--color-accent-text, #fff);font-size:.6875rem;font-weight:600;letter-spacing:.04em;padding:.15em .5em;border-radius:var(--radius-sm, 4px);vertical-align:middle;margin-right:.4em;text-transform:none}.decode-result-card .decode-type-label{margin-bottom:var(--space-xs, .25rem)}.decode-fields{display:grid;grid-template-columns:auto 1fr;gap:.5rem .75rem;align-items:baseline;margin:0 0 var(--space-md, 1rem) 0;padding:0}.decode-fields dt{font-weight:600;font-size:.875rem;color:var(--color-text-muted, #71717a);margin:0}.decode-fields dd{font-size:.875rem;color:var(--color-text, #18181b);margin:0;word-break:break-all}.decode-raw-content{margin-top:var(--space-md, 1rem);padding-top:var(--space-md, 1rem);border-top:1px solid var(--color-border, #e4e4e7)}.decode-raw-content__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted, #71717a);margin:0 0 var(--space-xs, .25rem) 0;font-weight:600}.decode-raw-content__text{background:var(--color-surface-elevated, #e4e4e7);border:1px solid var(--color-border);border-radius:var(--radius-sm, 4px);padding:var(--space-sm, .5rem) var(--space-md, 1rem);font-family:monospace;font-size:.8125rem;line-height:1.6;word-break:break-all;white-space:pre-wrap;margin:0;max-height:200px;overflow-y:auto;color:var(--color-text)}.decode-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm, .5rem);margin-top:var(--space-md, 1rem);border-top:1px solid var(--border-color, #e4e4e7);padding-top:var(--space-md, 1rem)}.decode-result-error{text-align:center;padding:var(--space-lg, 1.5rem);color:var(--color-text-muted)}.decode-result-error svg{width:48px;height:48px;margin-bottom:var(--space-sm, .5rem);stroke:var(--color-danger, #e53e3e)}.decode-result-error p:first-of-type{font-weight:600;margin:0 0 var(--space-xs, .25rem) 0}.decode-result-error p:last-of-type{font-size:.85rem;color:var(--color-text-muted);margin:0}@media(min-width:37.5625em){.decode-dropzone{min-height:180px;padding:24px}.decode-preview-card img{max-width:300px}}.decode-info{max-width:480px;margin:var(--space-lg, 1.5rem) auto 0;padding:0 var(--space-sm, .5rem)}.decode-info__heading{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0 0 var(--space-sm, .5rem) 0}.decode-info__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:var(--space-xs, .25rem) var(--space-md, 1rem)}@media(min-width:25.0625em){.decode-info__list{grid-template-columns:1fr 1fr}}.decode-info__list li{font-size:.8125rem;color:var(--color-text-muted);padding:2px 0}.decode-info__list li:before{content:"✓";color:var(--color-accent);font-weight:600}@media(forced-colors:active){.toast{border:2px solid ButtonText}.card,.qr-preview-panel,.scan-list,.compare-panel,.batch-grid-container,.decode-preview-card,.decode-result,.decode-info{border:1px solid ButtonText}}.app-layout{display:flex;flex:1;overflow:hidden;min-height:0}.ad-banner{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-height:60px;background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -2px 8px #00000014}[data-theme=dark] .ad-banner{box-shadow:0 -2px 8px #0000004d}.ad-banner.ad-collapsed,.ad-sidebar{display:none}@media(min-width:48.0625em){.ad-banner{display:none}.ad-sidebar{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;flex-shrink:0;width:160px;padding:12px 8px;background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:-2px 0 8px #00000014;overflow-y:auto}[data-theme=dark] .ad-sidebar{box-shadow:-2px 0 8px #0000004d}.ad-sidebar.ad-collapsed{display:none}}.hidden{display:none!important}.file-input-hidden{display:none}.empty-state__actions{display:flex;gap:8px;margin-top:8px}@media(min-width:48.0625em){.btn-sm{min-height:0;min-width:0}.template-controls .btn-sm,.download-controls .btn-sm{min-height:var(--touch-target)}.filter-btn,.btn-row-delete,.wifi-show-hide{min-height:0;min-width:0}input[type=color].qr-input{min-height:40px;height:40px}.toggle-switch{min-height:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.modal-dialog{transform:scale(1)}}.script-load-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;text-align:center;border:2px dashed var(--color-danger);border-radius:var(--radius-lg);min-height:200px}.script-load-error__message{color:var(--color-danger);font-size:.9rem;margin:0}.script-load-error__loading{color:var(--color-text-muted);font-size:.9rem;text-align:center;padding:2rem 1rem}.export-format-label{display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-size:.875rem;color:var(--color-text);-webkit-user-select:none;user-select:none}.export-format-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--color-accent)}.batch-toolbar .btn-export-open{margin-left:auto}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 24px;text-align:center;color:var(--color-text-muted)}.empty-state__icon{color:var(--color-text-secondary);margin-bottom:8px}.empty-state__headline{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.empty-state__hint{font-size:.875rem;color:var(--color-text-muted);margin:0;max-width:280px}.batch-grid-container{margin-top:16px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.scan-list:empty{display:none}.compare-panel{padding:16px;margin-top:16px}.export-modal-dialog{max-width:100%}.export-modal-body{display:flex;flex-direction:column;gap:16px;margin-bottom:16px;min-height:340px}.export-modal-field{display:flex;flex-direction:column;gap:8px}.export-modal-label{font-size:.875rem;font-weight:500;color:var(--color-text)}.export-modal-checks{display:flex;gap:16px}.export-modal-body select{width:100%;padding:8px 12px;font-size:.875rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text)}.export-step{display:flex;flex-direction:column;gap:16px;flex:1}.export-step[hidden]{display:none}.scrollable-toolbar{display:flex;align-items:stretch;margin:-12px -12px 12px;background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);border-radius:0}@media(min-width:48.0625em){.scrollable-toolbar{display:block;margin:0;background:transparent;border-top:none;border-bottom:none;border-radius:0}}.scrollable-toolbar .batch-toolbar{flex:1;min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-bottom:0;background:none;border:none;border-radius:0;box-shadow:none}.scrollable-toolbar .batch-toolbar>*{flex:0 0 auto;min-width:110px;text-align:center}.scrollable-toolbar .batch-toolbar::-webkit-scrollbar{display:none}.scrollable-toolbar .batch-toolbar .btn-export-open{margin-left:0}@media(min-width:48.0625em){.scrollable-toolbar .batch-toolbar{flex:initial;min-width:auto;flex-wrap:wrap;overflow-x:visible;scrollbar-width:auto;margin-bottom:16px}.scrollable-toolbar .batch-toolbar>*{flex:initial;min-width:auto;text-align:left}.scrollable-toolbar .batch-toolbar .btn-export-open{margin-left:auto}}.batch-scrollable-toolbar{display:block;margin:-12px -12px 0;border-bottom:none}.batch-scrollable-toolbar .batch-toolbar{display:flex;gap:8px;padding:10px 12px;margin-bottom:0;background:none;border:none;border-radius:0;box-shadow:none;overflow-x:visible;align-items:center}.batch-scrollable-toolbar .scroll-arrow{display:none}@media(min-width:48.0625em){.batch-scrollable-toolbar{display:block;margin:0;border-bottom:none}.batch-scrollable-toolbar .batch-toolbar{padding:12px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}}.batch-grid-container{margin-top:0;margin-left:-12px;margin-right:-12px;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:none;background:transparent}.batch-grid-container .batch-grid-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.batch-grid-container .batch-grid{min-width:100%}@media(min-width:48.0625em){.batch-grid-container{margin-top:16px;margin-left:0;margin-right:0;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}}.batch-grid th.col-num,.batch-grid td.col-num{width:32px;min-width:32px;padding:4px 2px}@media(min-width:48.0625em){.batch-grid th.col-num,.batch-grid td.col-num{width:48px;min-width:auto;padding:8px 4px}}.batch-grid .col-actions{position:sticky;right:0;z-index:2;background:var(--color-surface);width:40px;min-width:40px;border-left:1px solid var(--color-border)}.batch-grid thead .col-actions{background:var(--color-surface-elevated)}@media(min-width:48.0625em){.batch-grid .col-actions{position:static;right:auto;z-index:auto;width:48px;min-width:auto;border-left:none}}.batch-grid th{padding:6px 8px;font-size:.875rem}.col-header-row{gap:4px}.col-header-input{font-size:.875rem;min-width:0}.batch-grid th .col-header-actions{display:none}.batch-grid th:focus-within .col-header-actions{display:flex;gap:4px;align-items:center}.col-qr-label{display:none}.btn-col-delete{width:var(--touch-target);height:var(--touch-target);padding:0}.btn-col-delete svg{width:14px;height:14px}@media(min-width:48.0625em){.batch-grid th{padding:8px 16px;font-size:.8125rem}.col-header-row{gap:8px}.col-header-input{font-size:.8125rem;min-width:auto}.batch-grid th .col-header-actions{display:flex}.col-qr-label{display:inline}.btn-col-delete{width:auto;height:auto;padding:2px}.btn-col-delete svg{width:16px;height:16px}}.batch-grid .cell-input,.batch-grid .add-row-input{padding:8px;font-size:.875rem}.batch-grid td{border-bottom:1px solid var(--color-border)}.batch-grid th:not(.col-num):not(.col-actions),.batch-grid td:not(.col-num):not(.col-actions){min-width:100px}.batch-grid thead{border-bottom:1px solid var(--color-border)}.row-badge{font-size:.875rem;min-width:16px}@media(min-width:48.0625em){.batch-grid .cell-input{padding:10px 14px}.batch-grid .add-row-input{padding:8px 14px}.batch-grid th:not(.col-num):not(.col-actions),.batch-grid td:not(.col-num):not(.col-actions){min-width:120px}.batch-grid thead{border-bottom:2px solid var(--color-border)}.row-badge{font-size:.75rem;min-width:24px}}.toolbar-overflow{position:relative}.toolbar-overflow__trigger{display:flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background var(--transition-normal)}.toolbar-overflow__trigger:hover,.toolbar-overflow__trigger:focus-visible{background:var(--color-surface-elevated)}.toolbar-overflow__dots{display:flex;flex-direction:column;gap:4px;align-items:center}.toolbar-overflow__dots span{display:block;width:4px;height:4px;border-radius:50%;background:currentColor}.toolbar-overflow__menu{display:none;position:absolute;top:calc(100% + 4px);right:0;z-index:100;min-width:180px;padding:4px 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.toolbar-overflow__menu.is-open{display:block}.toolbar-overflow__item{display:block;width:100%;padding:10px 16px;border:none;background:none;color:var(--color-text);font-size:.875rem;text-align:left;cursor:pointer;white-space:nowrap}.toolbar-overflow__item:hover,.toolbar-overflow__item:focus-visible{background:var(--color-surface-elevated)}.toolbar-overflow__item:disabled{opacity:.4;cursor:default}.toolbar-overflow__item-label{display:block;width:100%;padding:10px 16px;font-size:.875rem;text-align:left;cursor:pointer;white-space:nowrap;color:var(--color-text)}.toolbar-overflow__item-label:hover{background:var(--color-surface-elevated)}.batch-scrollable-toolbar .batch-toolbar{display:grid;grid-template-columns:1fr 1fr 1fr}.batch-scrollable-toolbar .batch-toolbar .btn{width:100%;padding:8px 4px;font-size:.875rem;min-height:var(--touch-target);min-width:0;text-align:center;box-sizing:border-box}.batch-scrollable-toolbar .import-dropdown .btn{width:100%}@media(min-width:48.0625em){.batch-scrollable-toolbar .batch-toolbar{display:flex;grid-template-columns:none}.batch-scrollable-toolbar .batch-toolbar .btn{width:auto;padding:12px 16px;min-width:var(--touch-target);text-align:left}.batch-scrollable-toolbar .import-dropdown .btn{width:auto}}.compare-scrollable-toolbar .compare-toolbar{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:10px 12px;margin-bottom:0;background:none;border:none;border-radius:0;box-shadow:none}.compare-scrollable-toolbar .compare-toolbar .btn{width:100%;padding:8px 4px;font-size:.875rem;min-height:var(--touch-target);white-space:nowrap}.compare-scrollable-toolbar .import-dropdown,.compare-scrollable-toolbar .import-dropdown .btn{width:100%}.compare-scrollable-toolbar .scroll-arrow{display:none}@media(min-width:48.0625em){.compare-scrollable-toolbar .compare-toolbar{display:flex;flex-wrap:wrap;grid-template-columns:none;padding:12px 16px;margin-bottom:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.compare-scrollable-toolbar .compare-toolbar .btn{width:auto;padding:12px 16px}.compare-scrollable-toolbar .import-dropdown,.compare-scrollable-toolbar .import-dropdown .btn{width:auto}.compare-scrollable-toolbar .scroll-arrow{display:flex}}@media(min-width:48.0625em){.export-modal-dialog{max-width:560px}.export-modal-body{min-height:380px}}.scroll-arrow{flex:0 0 36px;border:none;background:var(--color-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text);padding:0}.scroll-arrow svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.scroll-arrow--left{border-right:1px solid var(--color-border)}.scroll-arrow--right{border-left:1px solid var(--color-border)}.scroll-arrow:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}:focus:not(:focus-visible){outline:none}[data-focus-source=pointer] :focus-visible{outline:none}.qr-subtab{min-height:var(--touch-target)}.scan-copy-btn{min-height:var(--touch-target);min-width:var(--touch-target);font-size:.875rem}.card-field-row__color{width:var(--touch-target);height:var(--touch-target)}.mobile-nav-item__badge,.col-qr-label,.card-field,.card-designer-section-label,.card-field-row__size,.card-field-row__unit,.active-tab-label,.color-hex-label{font-size:.875rem}.scan-count-badge{min-height:var(--touch-target);display:flex;align-items:center}.btn-clear-scans{min-width:var(--touch-target);min-height:var(--touch-target)}.scan-done-btn{min-height:var(--touch-target);width:100%;max-width:280px}.compare-table th,.compare-table td{padding:8px 6px}.compare-th-status{width:auto;min-width:3.5rem}.compare-th-id{width:auto;min-width:2rem}.compare-table-wrap{margin-left:-12px;margin-right:-12px;border-radius:0}.compare-panel{padding:12px;margin-top:12px}.compare-header,.filter-group{margin-bottom:.5rem}.filter-btn{padding:8px 10px;font-size:.875rem}.scan-list li{padding:10px 12px}.compare-empty-hint{padding:24px 12px}.scan-list:hover,.compare-panel:hover{transform:none}.scan-list:hover:after,.compare-panel:hover:after{opacity:0}.view-create{padding-left:0;padding-right:0}@media(min-width:48.0625em){.view{padding:24px}.view-create{padding-left:24px;padding-right:24px}.card,.qr-card{padding:16px}.qr-view{gap:24px}.qr-preview{padding:32px}.qr-subtab{min-height:0}.scan-copy-btn{min-height:32px;min-width:32px;font-size:.8rem}.card-field-row__color{width:32px;height:28px}.mobile-nav-item__badge{font-size:.65rem}.col-qr-label,.card-field,.card-designer-section-label{font-size:.6875rem}.card-field-row__size{font-size:.75rem}.card-field-row__unit{font-size:.6875rem}.active-tab-label{font-size:.85rem}.color-hex-label{font-size:.8125rem}.scan-count-badge{min-height:auto}.btn-clear-scans{min-width:auto;min-height:auto}.scan-done-btn{width:auto;max-width:none}.compare-table th,.compare-table td{padding:.5rem .75rem}.compare-th-status{width:5rem}.compare-th-id{width:3rem}.compare-table-wrap{margin-left:0;margin-right:0;border-radius:0}.compare-panel{padding:16px;margin-top:16px}.compare-header,.filter-group{margin-bottom:.75rem}.filter-btn{padding:8px 16px}.scan-list li{padding:.75rem 1rem}.compare-empty-hint{padding:1.5rem}.scan-list:hover,.compare-panel:hover{transform:translateY(-2px)}.scan-list:hover:after,.compare-panel:hover:after{opacity:1}}
