.qrcode-root{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:var(--ds-color-canvas, #f7f9ff);color:var(--ds-color-ink, #172033);font-family:var(--ds-font-sans, "Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif)}.qrcode-topbar{display:flex;align-items:center;justify-content:space-between;height:56px;flex:none;padding:0 16px;background:var(--ds-color-surface, #ffffff);border-bottom:1px solid var(--ds-color-border, #d9e0ec)}@supports not (-webkit-nbsp-mode: normal){.qrcode-topbar{position:sticky;top:0;z-index:var(--ds-z-sticky, 10)}}@supports (-webkit-nbsp-mode: normal) and (max-width: 899px){.qrcode-topbar{position:fixed;top:64px;left:0;right:0;z-index:150}.qrcode-root{padding-top:56px}}.qrcode-topbar-title{display:flex;align-items:center;gap:10px;min-width:0}.qrcode-tool-logo{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border-radius:10px;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 2px 6px #4f46e559}.qrcode-tool-name{font-size:16px;font-weight:700}.qrcode-tool-tagline{font-size:13px;color:var(--ds-color-muted, #64748b)}.qrcode-topbar-actions{display:flex;align-items:center;gap:12px}.qrcode-privacy-note{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ds-color-muted, #64748b)}.qrcode-privacy-dot{width:7px;height:7px;border-radius:999px;background:var(--ds-color-success, #16a34a);box-shadow:0 0 0 3px #16a34a26}.qrcode-body{display:flex;flex:1;min-height:0}.qrcode-panel{width:380px;flex:none;border-right:1px solid var(--ds-color-border, #d9e0ec);background:var(--ds-color-canvas, #f7f9ff);overflow-y:auto;padding:12px}.qrcode-preview-area{flex:1;min-width:0;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow-y:auto;background:radial-gradient(1200px 400px at 50% -100px,rgb(129 140 248 / 10%),transparent 60%),var(--ds-color-canvas, #f7f9ff)}.qr-section{background:var(--ds-color-surface, #ffffff);border:1px solid var(--ds-color-border, #d9e0ec);border-radius:var(--ds-radius-md, 12px);padding:14px 16px;margin-bottom:12px;box-shadow:0 1px 2px #17203308,0 4px 16px #1720330a}.qr-section-title{font-size:13px;font-weight:600;color:var(--ds-color-ink, #172033);margin:0 0 12px;letter-spacing:.01em}.qr-section-title-description{font-size:12px;color:var(--ds-color-muted, #64748b);font-weight:400;margin-left:6px}.qr-form{display:flex;flex-direction:column;gap:12px}.qr-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.qr-field{display:flex;flex-direction:column;gap:6px;font-size:13px}.qr-field-label{color:var(--ds-color-ink, #172033);font-weight:500;font-size:13px}.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}.qr-input{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid var(--ds-color-border, #d9e0ec);border-radius:var(--ds-radius-sm, 8px);background:#fff;font-size:16px;color:var(--ds-color-ink, #172033)}.qr-input:focus-visible{outline:2px solid var(--ds-color-focus, #818cf8);outline-offset:1px}.qr-textarea{resize:vertical;min-height:96px;line-height:1.5}.qr-field-hint{font-size:12px;color:var(--ds-color-muted, #64748b);margin:0;line-height:1.5}.qr-field-error{font-size:12px;color:var(--ds-color-danger, #ef4444);margin:0;line-height:1.5}.qr-url-suggestion{font-size:12px;color:var(--ds-color-muted, #64748b);background:var(--ds-color-canvas, #f7f9ff);border:1px solid var(--ds-color-border, #d9e0ec);border-radius:var(--ds-radius-sm, 8px);padding:8px 10px;margin:0;line-height:1.5;word-break:break-all}.qr-checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px;min-height:44px;cursor:pointer}.qr-checkbox-row input{width:18px;height:18px;accent-color:var(--ds-color-brand-primary, #4f46e5)}.ds-segment{display:flex;flex-wrap:wrap;gap:4px;background:var(--ds-color-canvas, #f7f9ff);border:1px solid var(--ds-color-border, #d9e0ec);border-radius:var(--ds-radius-sm, 8px);padding:4px}.ds-segment-option{flex:1 1 auto;min-height:44px;border:none;border-radius:6px;background:transparent;color:var(--ds-color-muted, #64748b);font-size:13px;font-weight:500;padding:0 12px;cursor:pointer;transition:background-color var(--ds-motion-standard, .16s),color var(--ds-motion-standard, .16s)}.ds-segment-option:hover:not(:disabled):not([data-selected=true]){background:var(--ds-color-surface-hover, #f1f5f9);color:var(--ds-color-ink, #172033)}.ds-segment-option[data-selected=true]{background:#fff;color:var(--ds-color-primary, #4f46e5);box-shadow:0 1px 3px #1720331f,0 0 0 1px #4f46e52e;font-weight:600}.ds-segment-option:focus-visible{outline:2px solid var(--ds-color-focus, #818cf8);outline-offset:1px}.ds-segment-option:disabled{opacity:.5;cursor:not-allowed}.qr-preset-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.qr-preset{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:44px;min-width:60px;border:1px solid var(--ds-color-border, #d9e0ec);border-radius:var(--ds-radius-sm, 8px);background:#fff;padding:8px 10px;cursor:pointer;font-size:12px;color:var(--ds-color-ink, #172033)}.qr-preset[aria-pressed=true]{border-color:var(--ds-color-brand-primary, #4f46e5);box-shadow:0 0 0 1px var(--ds-color-brand-primary, #4f46e5)}.qr-preset-swatch{width:22px;height:22px;border-radius:50%;border:1px solid var(--ds-color-border, #d9e0ec);display:block}.qr-preset-label{font-size:11px}.qr-color-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:6px}.qr-color-pair{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--ds-color-muted, #64748b)}.qr-color-pair input[type=color]{width:100%;height:44px;border:1px solid var(--ds-color-border, #d9e0ec);border-radius:var(--ds-radius-sm, 8px);background:#fff;padding:4px;cursor:pointer}.qr-color-pair code{font-size:11px;color:var(--ds-color-ink, #172033)}.qr-logo-row{display:flex;align-items:center;gap:12px}.qr-logo-thumb{width:56px;height:56px;object-fit:contain;border:1px solid var(--ds-color-border, #d9e0ec);border-radius:var(--ds-radius-sm, 8px);background:#fff}.qr-logo-actions{display:flex;gap:8px}.qr-logo-upload{width:100%}.qr-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.qr-preview-card{width:100%;max-width:480px;min-width:0;display:flex;flex-direction:column;gap:14px;align-items:stretch}.qr-preview-frame{width:100%;max-width:100%;min-width:0;aspect-ratio:1 / 1;background:#fff;border:1px solid var(--ds-color-border, #d9e0ec);border-radius:var(--ds-radius-lg, 16px);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 2px 4px #1720330a,0 12px 32px #17203314}.qr-preview-image{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;image-rendering:pixelated}.qr-preview-empty{color:var(--ds-color-muted, #64748b);font-size:14px;text-align:center;padding:24px}.qr-preview-meta{min-height:20px;display:flex;flex-direction:column;gap:4px}.qr-reliability{font-size:13px;margin:0}.qr-reliability-good{color:#15803d}.qr-reliability-low{color:#b45309}.qr-reliability-blocked{color:var(--ds-color-danger, #ef4444)}.qr-density{font-size:12px;color:var(--ds-color-muted, #64748b);margin:0}.qr-density-dense{color:#b45309}.qr-density-too-long{color:var(--ds-color-danger, #ef4444)}.qr-export-row{display:flex;flex-direction:column;gap:12px}.qr-export-group{display:flex;flex-direction:column;gap:6px}.qr-export-label{font-size:12px;color:var(--ds-color-muted, #64748b)}.qr-download-row{display:flex;gap:10px}.qr-download-primary{flex:1}.qr-block-note{text-align:center}.qrcode-root-mobile{min-height:0}.qrcode-mobile-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px 16px 96px;display:flex;flex-direction:column;gap:16px}.qrcode-mobile-main{min-width:0}.qrcode-mobile-preview{flex:none;min-width:0;width:100%}.qrcode-mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:var(--ds-z-sticky, 10);display:flex;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--ds-color-border, #d9e0ec);box-shadow:0 -4px 20px #1720330f}.qrcode-more-settings{flex:none}.qrcode-mobile-download{flex:1}.qr-sheet-backdrop{position:fixed;inset:0;z-index:var(--ds-z-modal, 50);background:#17203373;display:flex;align-items:flex-end;justify-content:center}.qr-sheet{width:100%;max-width:560px;max-height:86dvh;background:var(--ds-color-surface, #ffffff);border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden}.qr-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--ds-color-border, #d9e0ec);flex:none}.qr-sheet-title{font-size:15px;font-weight:600;margin:0}.qr-sheet-close{min-width:44px;min-height:44px;border:none;background:transparent;font-size:22px;color:var(--ds-color-muted, #64748b);cursor:pointer}.qr-sheet-body{overflow-y:auto;padding:16px}@media(prefers-reduced-motion:reduce){.ds-segment-option,.qr-sheet,.qr-sheet-backdrop{transition:none}}.qrcode-mode-switch{display:flex;flex:none}.qrcode-mode-switch .ds-segment{background:var(--ds-color-canvas, #f7f9ff)}.qrcode-mode-switch .ds-segment-option{min-height:44px;padding:0 14px;font-size:13px}.qrcode-reader-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;justify-content:center;padding:24px 16px 48px}.qr-reader{width:100%;max-width:560px;min-width:0;display:flex;flex-direction:column;gap:12px}.qr-reader-hidden-input{display:none}.qr-reader-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;min-height:148px;border:1.5px dashed var(--ds-color-border-strong, #c3cde0);border-radius:var(--ds-radius-md, 12px);background:var(--ds-color-canvas, #f7f9ff);cursor:pointer;transition:border-color var(--ds-motion-standard, .16s),background-color var(--ds-motion-standard, .16s)}.qr-reader-dropzone:hover{border-color:var(--ds-color-primary, #4f46e5);background:#eef2ff}.qr-reader-dropzone-active,.qr-reader-dropzone-active:hover{border-color:var(--ds-color-primary, #4f46e5);border-style:solid;background:#eef2ff;box-shadow:0 0 0 3px #818cf840}.qr-reader-dropzone>*{pointer-events:none}.qr-reader-dropzone-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;color:var(--ds-color-primary, #4f46e5);background:#eef2ff}.qr-reader-dropzone-title{font-size:15px;font-weight:600;color:var(--ds-color-ink, #172033)}.qr-reader-dropzone-hint{font-size:12px;color:var(--ds-color-muted, #64748b)}.qr-reader-hint{margin:10px 0 0;font-size:12px;color:var(--ds-color-muted, #64748b)}.qr-reader-status{margin:12px 0 0;font-size:13px;color:var(--ds-color-ink, #172033)}.qr-reader-reset{align-self:flex-start;border:none;background:none;color:var(--ds-color-primary, #4f46e5);font-size:13px;font-weight:500;min-height:44px;padding:0 4px;cursor:pointer}.qr-camera-box{display:flex;flex-direction:column;gap:10px}.qr-camera-video{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:#0f172a;border-radius:var(--ds-radius-md, 12px)}.qr-reader-error .qr-field-error{margin:0}.qr-result-card{border-color:color-mix(in srgb,var(--ds-color-success, #16a34a) 40%,transparent)}.qr-result-title{display:flex;align-items:center;gap:8px;margin-bottom:10px}.qr-result-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;color:#fff}.qr-result-badge[data-kind=url]{background:#4f46e5}.qr-result-badge[data-kind=wifi]{background:#0d9488}.qr-result-badge[data-kind=contact]{background:#b45309}.qr-result-badge[data-kind=email]{background:#0284c7}.qr-result-badge[data-kind=text]{background:#475569}.qr-result-body{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.qr-result-field{display:flex;gap:10px;align-items:baseline;font-size:13px}.qr-result-field-label{flex:none;color:var(--ds-color-muted, #64748b);width:64px}.qr-result-field-value{color:var(--ds-color-ink, #172033);word-break:break-all}.qr-result-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.qr-result-url{color:var(--ds-color-primary, #4f46e5);font-size:14px;word-break:break-all;text-decoration:underline;text-underline-offset:2px}.qr-result-text{margin:0;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--ds-color-ink, #172033)}.qr-result-actions{display:flex;gap:8px}.qr-result-summary{margin:12px 0 0;font-size:12px;color:var(--ds-color-muted, #64748b);word-break:break-all}.qr-scan-entry{display:inline-flex;align-items:center;gap:8px;width:100%;min-height:48px;justify-content:center}.qr-scan-entry-icon{display:inline-flex}.qr-scan-overlay{position:fixed;inset:0;z-index:1000;background:#000;display:flex;flex-direction:column;overflow:hidden}.qr-scan-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}.qr-scan-mask{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.qr-scan-frame{position:relative;width:min(72vw,280px);height:min(72vw,280px);border-radius:16px;box-shadow:0 0 0 2000px #00000073;border:2px solid rgb(255 255 255 / 85%)}.qr-scan-frame:before,.qr-scan-frame:after{content:"";position:absolute;width:34px;height:34px;border:3px solid var(--ds-color-primary, #4f46e5)}.qr-scan-frame:before{top:-2px;left:-2px;border-right:none;border-bottom:none;border-top-left-radius:14px}.qr-scan-frame:after{bottom:-2px;right:-2px;border-left:none;border-top:none;border-bottom-right-radius:14px}.qr-scan-line{position:absolute;left:10%;right:10%;top:8%;height:2px;background:linear-gradient(90deg,transparent,var(--ds-color-primary, #4f46e5),transparent);box-shadow:0 0 8px var(--ds-color-primary, #4f46e5);animation:qr-scan-move 2.2s ease-in-out infinite}@keyframes qr-scan-move{0%{top:8%}50%{top:90%}to{top:8%}}.qr-scan-topbar{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top)) 16px 14px}.qr-scan-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:999px;background:#ffffff2e;color:#fff;font-size:18px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.qr-scan-placeholder{pointer-events:none;background:transparent}.qr-scan-title{font-size:16px;font-weight:600;color:#fff;text-shadow:0 1px 4px rgb(0 0 0 / 40%)}.qr-scan-hint{position:absolute;top:calc(92px + env(safe-area-inset-top));left:24px;right:24px;z-index:2;text-align:center;font-size:13px;color:#ffffffe0;text-shadow:0 1px 4px rgb(0 0 0 / 50%)}.qr-scan-error{position:absolute;left:24px;right:24px;top:50%;z-index:3;text-align:center;font-size:13px;color:#fca5a5;background:#0000008c;border-radius:10px;padding:10px 14px}.qr-scan-footer{position:absolute;left:0;right:0;bottom:calc(24px + env(safe-area-inset-bottom));z-index:2;display:flex;align-items:center;justify-content:center;gap:20px;padding:0 24px}.qr-scan-footer-btn{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:64px;min-width:84px;border:none;background:#ffffff24;color:#fff;font-size:13px;border-radius:14px;padding:8px 12px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.qr-scan-footer-btn[aria-pressed=true]{color:var(--ds-color-primary-light, #a5b4fc)}.qr-scan-footer-btn-primary{background:var(--ds-color-primary, #4f46e5);font-weight:600}.qr-scan-footer-icon{font-size:20px;line-height:1}.qr-scan-footer-placeholder{min-width:84px}@media(prefers-reduced-motion:reduce){.qr-scan-line{animation:none}}html,body,#root{height:100%}@media(max-width:899px){.qrcode-tool-tagline,.qrcode-privacy-note{display:none}.qr-form-grid{grid-template-columns:1fr}.qr-color-grid{grid-template-columns:1fr 1fr}}@media(min-width:900px){.qrcode-mobile-bar,.qr-sheet-backdrop{display:none}}@media(max-width:899px)and (orientation:landscape)and (max-height:520px){.qrcode-mobile-body{padding-bottom:88px}.qrcode-mobile-bar{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.qr-sheet,.qr-sheet-backdrop{transition:none}}
