[data-v-b7d540ed]:root{--qr-accent:#27ae60;--qr-accent-dim:#27ae6026;--qr-accent-glow:#27ae6059;--qr-bg:#0a0a0c;--qr-card:#121216cc;--qr-border:#2a2a3299;--qr-text:#e8e6e3;--qr-text-muted:#e8e6e380;--qr-text-dim:#e8e6e34d}.qr-page[data-v-b7d540ed]{background:var(--qr-bg);min-height:100dvh;color:var(--qr-text);flex-direction:column;font-family:DM Sans,sans-serif;display:flex}.qr-main[data-v-b7d540ed]{flex-direction:column;flex:1;gap:24px;width:100%;max-width:960px;margin:0 auto;padding:28px 24px 80px;display:flex}.animate-reveal[data-v-b7d540ed]{opacity:0;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);transform:translateY(12px)}.mounted .animate-reveal[data-v-b7d540ed]{opacity:1;transform:none}.stagger-1[data-v-b7d540ed]{transition-delay:40ms}.stagger-2[data-v-b7d540ed]{transition-delay:.12s}.stagger-3[data-v-b7d540ed]{transition-delay:.2s}.tab-bar[data-v-b7d540ed]{border-bottom:1px solid var(--qr-border);align-items:center;gap:0;padding-bottom:0;display:flex;position:relative}.tab-btn[data-v-b7d540ed]{color:var(--qr-text-muted);cursor:pointer;letter-spacing:.02em;background:0 0;border:none;align-items:center;gap:7px;padding:12px 24px 14px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;transition:color .25s;display:flex;position:relative}.tab-btn[data-v-b7d540ed]:hover{color:var(--qr-text)}.tab-btn.active[data-v-b7d540ed]{color:var(--qr-accent)}.tab-icon[data-v-b7d540ed]{flex-shrink:0;width:16px;height:16px}.tab-indicator[data-v-b7d540ed]{background:var(--qr-accent);width:50%;height:2px;box-shadow:0 0 8px var(--qr-accent-glow);border-radius:1px 1px 0 0;transition:transform .3s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-1px;left:0}.tab-indicator.right[data-v-b7d540ed]{transform:translate(100%)}.panel[data-v-b7d540ed]{background:var(--qr-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--qr-border);border-radius:16px;padding:32px}.gen-layout[data-v-b7d540ed]{grid-template-columns:1fr 1fr;align-items:start;gap:40px;display:grid}.gen-controls[data-v-b7d540ed]{flex-direction:column;gap:20px;display:flex}.qr-input[data-v-b7d540ed]{border:1px solid var(--qr-border);width:100%;color:var(--qr-text);resize:vertical;background:#ffffff0a;border-radius:10px;padding:14px 16px;font-family:DM Sans,sans-serif;font-size:14px;line-height:1.55;transition:border-color .25s,box-shadow .25s}.qr-input[data-v-b7d540ed]:focus{border-color:var(--qr-accent);box-shadow:0 0 0 3px var(--qr-accent-dim);outline:none}.qr-input[data-v-b7d540ed]::placeholder{color:var(--qr-text-dim)}.color-row[data-v-b7d540ed]{gap:16px;display:flex}.color-field[data-v-b7d540ed]{cursor:pointer;flex-direction:column;flex:1;gap:6px;display:flex}.color-label[data-v-b7d540ed]{color:var(--qr-text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:500}.color-swatch-wrap[data-v-b7d540ed]{border:1px solid var(--qr-border);background:#ffffff0a;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;transition:border-color .2s;display:flex}.color-swatch-wrap[data-v-b7d540ed]:hover{border-color:var(--qr-accent)}.color-swatch[data-v-b7d540ed]{cursor:pointer;background:0 0;border:none;border-radius:6px;width:28px;height:28px;padding:0}.color-swatch[data-v-b7d540ed]::-webkit-color-swatch-wrapper{padding:0}.color-swatch[data-v-b7d540ed]::-webkit-color-swatch{border:1px solid #ffffff26;border-radius:5px}.color-hex[data-v-b7d540ed]{color:var(--qr-text-muted);text-transform:uppercase;font-family:DM Mono,Fira Code,monospace;font-size:13px}.size-group[data-v-b7d540ed]{flex-direction:column;gap:8px;display:flex}.size-label[data-v-b7d540ed]{color:var(--qr-text-muted);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;font-size:12px;font-weight:500;display:flex}.size-value[data-v-b7d540ed]{color:var(--qr-accent);font-family:DM Mono,Fira Code,monospace;font-size:13px;font-weight:600}.size-slider[data-v-b7d540ed]{appearance:none;background:var(--qr-border);cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px}.size-slider[data-v-b7d540ed]::-webkit-slider-thumb{appearance:none;background:var(--qr-accent);border:2px solid var(--qr-bg);width:18px;height:18px;box-shadow:0 0 8px var(--qr-accent-glow);cursor:pointer;border-radius:50%;transition:transform .15s}.size-slider[data-v-b7d540ed]::-webkit-slider-thumb:hover{transform:scale(1.15)}.size-slider[data-v-b7d540ed]::-moz-range-thumb{background:var(--qr-accent);border:2px solid var(--qr-bg);width:18px;height:18px;box-shadow:0 0 8px var(--qr-accent-glow);cursor:pointer;border-radius:50%}.size-ticks[data-v-b7d540ed]{color:var(--qr-text-dim);justify-content:space-between;font-size:11px;display:flex}.download-btn[data-v-b7d540ed]{background:var(--qr-accent);color:#fff;cursor:pointer;letter-spacing:.02em;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:background .2s,box-shadow .2s,transform .15s;display:flex}.download-btn[data-v-b7d540ed]:hover:not(:disabled){box-shadow:0 4px 20px var(--qr-accent-glow);background:#2ecc71;transform:translateY(-1px)}.download-btn[data-v-b7d540ed]:active:not(:disabled){transform:translateY(0)}.download-btn[data-v-b7d540ed]:disabled{opacity:.35;cursor:not-allowed}.btn-icon[data-v-b7d540ed]{flex-shrink:0;width:16px;height:16px}.error-msg[data-v-b7d540ed]{color:#e74c3c;align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.gen-preview[data-v-b7d540ed]{justify-content:center;align-items:center;display:flex}.canvas-frame[data-v-b7d540ed]{width:var(--frame-size,400px);aspect-ratio:1;border:1px solid var(--qr-border);background:#ffffff08;border-radius:12px;justify-content:center;align-items:center;max-width:100%;transition:border-color .3s;display:flex;position:relative;overflow:hidden}.canvas-frame canvas[data-v-b7d540ed]{border-radius:8px;max-width:100%;max-height:100%}.preview-hint[data-v-b7d540ed]{color:var(--qr-text-dim);pointer-events:none;justify-content:center;align-items:center;font-size:13px;font-style:italic;display:flex;position:absolute;inset:0}.scan-layout[data-v-b7d540ed]{grid-template-columns:1fr 1fr;align-items:start;gap:32px;display:grid}.drop-zone[data-v-b7d540ed]{border:2px dashed var(--qr-border);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;min-height:320px;transition:border-color .3s,background .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.drop-zone[data-v-b7d540ed]:hover{border-color:var(--qr-accent);background:var(--qr-accent-dim)}.drop-zone.drag-over[data-v-b7d540ed]{border-color:var(--qr-accent);background:var(--qr-accent-dim);box-shadow:0 0 24px var(--qr-accent-glow)}.drop-zone.has-preview[data-v-b7d540ed]{border-style:solid}.file-hidden[data-v-b7d540ed]{opacity:0;cursor:pointer;z-index:-1;position:absolute;inset:0}.drop-content[data-v-b7d540ed]{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 24px;display:flex}.drop-icon[data-v-b7d540ed]{width:48px;height:48px;color:var(--qr-text-dim);transition:color .3s}.drop-zone:hover .drop-icon[data-v-b7d540ed]{color:var(--qr-accent)}.drop-text[data-v-b7d540ed]{color:var(--qr-text-muted);margin:0;font-size:14px}.drop-formats[data-v-b7d540ed]{color:var(--qr-text-dim);margin:0;font-size:12px}.scan-preview-img[data-v-b7d540ed]{object-fit:contain;width:100%;height:100%;max-height:360px}.preview-overlay[data-v-b7d540ed]{opacity:0;background:#0a0a0c99;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:absolute;inset:0}.drop-zone:hover .preview-overlay[data-v-b7d540ed]{opacity:1}.overlay-text[data-v-b7d540ed]{color:var(--qr-text);border:1px solid var(--qr-accent);background:#27ae6033;border-radius:8px;padding:8px 16px;font-size:13px}.scan-spinner[data-v-b7d540ed]{background:#0a0a0cb3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.spinner-ring[data-v-b7d540ed]{border:3px solid var(--qr-border);border-top-color:var(--qr-accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin-b7d540ed}@keyframes spin-b7d540ed{to{transform:rotate(360deg)}}.scan-result-area[data-v-b7d540ed]{flex-direction:column;justify-content:center;gap:16px;min-height:200px;display:flex}.result-title[data-v-b7d540ed]{color:var(--qr-accent);letter-spacing:.02em;margin:0;font-family:Playfair Display,serif;font-size:18px;font-weight:600}.result-box[data-v-b7d540ed]{border:1px solid var(--qr-border);background:#ffffff0a;border-radius:10px;padding:16px 18px;overflow-x:auto}.result-text[data-v-b7d540ed]{color:var(--qr-text);word-break:break-all;white-space:pre-wrap;font-family:DM Mono,Fira Code,Consolas,monospace;font-size:13.5px;line-height:1.6}.result-actions[data-v-b7d540ed]{flex-wrap:wrap;gap:10px;display:flex}.action-btn[data-v-b7d540ed]{border:1px solid var(--qr-border);color:var(--qr-text-muted);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:9px 18px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.action-btn[data-v-b7d540ed]:hover{color:var(--qr-accent);border-color:var(--qr-accent);background:var(--qr-accent-dim)}.copy-btn .btn-icon.check[data-v-b7d540ed]{color:var(--qr-accent)}.link-btn[data-v-b7d540ed]:hover{color:#3498db;background:#3498db14;border-color:#3498db80}.scan-error-box[data-v-b7d540ed]{color:#e74c3c;background:#e74c3c14;border:1px solid #e74c3c4d;border-radius:10px;align-items:flex-start;gap:10px;padding:16px 18px;font-size:13.5px;line-height:1.5;display:flex}.error-icon[data-v-b7d540ed]{flex-shrink:0;width:18px;height:18px;margin-top:1px}.scan-empty[data-v-b7d540ed]{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;display:flex}.empty-icon[data-v-b7d540ed]{width:48px;height:48px;color:var(--qr-text-dim)}.empty-text[data-v-b7d540ed]{color:var(--qr-text-dim);margin:0;font-size:13px}@media (width<=720px){.qr-main[data-v-b7d540ed]{padding:20px 16px 60px}.panel[data-v-b7d540ed]{padding:24px 18px}.gen-layout[data-v-b7d540ed],.scan-layout[data-v-b7d540ed]{grid-template-columns:1fr;gap:24px}.gen-preview[data-v-b7d540ed]{order:-1}.canvas-frame[data-v-b7d540ed]{max-width:280px;margin:0 auto}.tab-btn[data-v-b7d540ed]{padding:10px 16px 12px;font-size:14px}}
