*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{cursor:pointer}button,input,select,textarea{font-family:inherit}.App{display:flex;flex-direction:column;min-height:100vh}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 20px #0000001a;color:#fff;padding:30px 20px;text-align:center}.logo-title{align-items:center;display:flex;gap:15px;justify-content:center}.app-logo{height:60px;object-fit:contain;width:60px}.header-content h1{font-size:48px;font-weight:700;letter-spacing:2px;margin:0}.tagline{font-size:16px;font-weight:300;margin:0;opacity:.95}.app-nav{background:#fff;box-shadow:0 2px 10px #0000000d;display:flex;gap:15px;justify-content:center;padding:20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-nav button{background:#fff;border:2px solid #ddd;border-radius:8px;color:#555;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:all .3s ease}.app-nav button:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px)}.app-nav button.active{background:#667eea;border-color:#667eea;box-shadow:0 4px 15px #667eea4d;color:#fff}.app-main{background:linear-gradient(135deg,#667eea,#764ba2);flex:1 1;padding:40px 20px}.app-footer{background:#2d3748;color:#fff;padding:25px 20px;text-align:center}.app-footer p{font-size:14px;margin:5px 0}.privacy-note{color:#a0aec0;font-size:13px;margin-top:10px}@media (max-width:768px){.app-logo{height:45px;width:45px}.header-content h1{font-size:36px}.tagline{font-size:14px}.app-nav{flex-direction:column;padding:15px}.app-nav button{width:100%}.app-main{padding:20px 10px}}.generate-qr{margin:0 auto;max-width:1400px;padding:20px}.generate-container{grid-gap:30px;align-items:start;display:grid;gap:30px;grid-template-columns:1fr 1fr}.generate-left,.generate-right{background:#fff;border-radius:15px;box-shadow:0 10px 40px #0000001a;padding:30px}.generate-left h2,.generate-right h3{color:#333;margin-bottom:20px}.qr-type-selector{margin-bottom:25px}.qr-type-selector label{color:#555;display:block;font-weight:600;margin-bottom:10px}.type-buttons{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.type-buttons button{background:#fff;border:2px solid #ddd;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .3s ease}.type-buttons button:hover{background:#f8f9ff;border-color:#667eea}.type-buttons button.active{background:#667eea;border-color:#667eea;color:#fff}.input-group{margin-bottom:20px}.input-group label{color:#555;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.input-group input,.input-group select,.input-group textarea{border:2px solid #e0e0e0;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .3s ease;width:100%}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:#667eea;outline:none}.input-group textarea{font-family:inherit;resize:vertical}.mode-toggle{margin:25px 0}.toggle-btn{background:#f5f5f5;border:none;border-radius:6px;color:#555;font-weight:500;padding:10px 16px;transition:all .3s ease}.toggle-btn:hover{background:#e0e0e0}.helper-text{background:#fff8e1;border-left:4px solid #ffc107;border-radius:4px;color:#666;font-size:13px;margin-top:10px;padding:12px}.advanced-settings{background:#f9f9f9;border-radius:8px;margin-bottom:20px;padding:20px}@media (max-width:968px){.generate-container,.type-buttons{grid-template-columns:1fr}}.qr-preview{margin-bottom:30px}.qr-preview h3{color:#333;font-size:18px;margin-bottom:20px}.preview-container{align-items:center;background:#f5f5f5;border:2px dashed #ddd;border-radius:10px;display:flex;justify-content:center;min-height:400px;padding:30px}.preview-container canvas{border-radius:8px;box-shadow:0 4px 15px #0000001a;height:auto;max-width:100%}.empty-preview{color:#999;font-size:16px;text-align:center}.empty-preview p{margin:0}.qr-customization{background:#f9f9f9;border-radius:8px;margin-top:25px;padding:20px}.qr-customization h3{color:#333;font-size:18px;margin-bottom:20px}.presets{margin-bottom:20px}.presets label{color:#555;display:block;font-size:14px;font-weight:500;margin-bottom:10px}.preset-buttons{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.preset-buttons button{background:#fff;border:2px solid #ddd;border-radius:6px;font-size:13px;padding:8px 12px;transition:all .3s ease}.preset-buttons button:hover{background:#f8f9ff;border-color:#667eea}.color-controls,.gradient-controls,.logo-controls,.shape-controls{margin-bottom:20px}.color-controls label,.gradient-controls label,.logo-controls label,.shape-controls label{color:#555;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.color-input{margin-bottom:15px}.color-picker-group{display:flex;gap:10px}.color-picker-group input[type=color]{border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;height:40px;width:50px}.color-picker-group input[type=text]{border:2px solid #e0e0e0;border-radius:6px;flex:1 1;font-size:14px;padding:10px 12px}.color-picker-group input[type=text]:focus{border-color:#667eea;outline:none}.checkbox-group{margin-bottom:12px}.checkbox-group label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:8px}.checkbox-group input[type=checkbox]{cursor:pointer;height:18px;width:18px}.gradient-controls select{border:2px solid #e0e0e0;border-radius:6px;font-size:14px;margin-bottom:15px;padding:10px 12px;width:100%}.gradient-controls select:focus{border-color:#667eea;outline:none}.gradient-colors{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.logo-hint{color:#777;font-size:12px;margin-bottom:10px}.logo-upload{margin-top:10px}.upload-btn{border-radius:6px;display:inline-block;padding:10px 20px;transition:background .3s ease}.logo-preview{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:6px;display:flex;gap:15px;padding:10px}.logo-preview img{border:1px solid #ddd;border-radius:4px;height:60px;object-fit:contain;width:60px}.remove-logo{background:#f44;border:none;border-radius:4px;color:#fff;font-size:12px;padding:6px 12px;transition:background .3s ease}.remove-logo:hover{background:#c00}.qr-download{background:#f9f9f9;border-radius:10px;padding:20px}.qr-download h3{color:#333;font-size:18px}.download-options,.qr-download h3{margin-bottom:20px}.option-group{margin-bottom:15px}.option-group label{color:#555;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.option-group select{background:#fff;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;padding:10px 12px;width:100%}.option-group select:focus{border-color:#667eea;outline:none}.download-btn{background:#667eea;border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;padding:14px 20px;transition:all .3s ease;width:100%}.download-btn:hover:not(:disabled){background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.download-btn:disabled{background:#ccc;cursor:not-allowed}.scan-qr{margin:0 auto;max-width:800px;padding:20px}.scan-container{background:#fff;border-radius:15px;box-shadow:0 10px 40px #0000001a;padding:40px}.scan-container h2{color:#333;margin-bottom:30px;text-align:center}.scan-mode-toggle{display:flex;gap:10px;justify-content:center;margin-bottom:30px}.scan-mode-toggle button{background:#fff;border:2px solid #ddd;border-radius:8px;color:#555;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;max-width:200px;padding:12px 20px;transition:all .3s ease}.scan-mode-toggle button:hover{border-color:#667eea;color:#667eea}.scan-mode-toggle button.active{background:#667eea;border-color:#667eea;color:#fff}.upload-section{background:#fafafa;border:3px dashed #ddd;border-radius:10px;margin-bottom:30px;padding:40px;text-align:center;transition:all .3s ease}.upload-section:hover{background:#f8f9ff;border-color:#667eea}.camera-section{margin-bottom:30px}.camera-container{aspect-ratio:4/3;background:#000;border-radius:10px;margin:0 auto;max-width:600px;overflow:hidden;position:relative;width:100%}.camera-video{height:100%;object-fit:cover;width:100%}.scan-overlay{align-items:center;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0}.scan-frame{animation:pulse 2s ease-in-out infinite;border:3px solid #667eea;border-radius:10px;box-shadow:0 0 0 9999px #00000080;height:250px;width:250px}@keyframes pulse{0%,to{border-color:#667eea;box-shadow:0 0 0 9999px #00000080,0 0 20px #667eea}50%{border-color:#764ba2;box-shadow:0 0 0 9999px #00000080,0 0 40px #764ba2}}.scan-instruction{background:#667eeae6;border-radius:20px;color:#fff;font-size:16px;font-weight:600;margin-top:20px;padding:10px 20px;text-shadow:0 2px 4px #000c}.stop-camera-btn{background:#f44;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:15px;font-weight:600;margin:20px auto 0;padding:12px 30px;transition:all .3s ease}.stop-camera-btn:hover{background:#c00;transform:translateY(-2px)}.upload-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;margin-bottom:15px;padding:16px 32px;transition:all .3s ease}.upload-btn:hover{background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.upload-hint{color:#777;font-size:14px;margin:0}.error-message{background:#ffebee;border-left:4px solid #f44336;border-radius:6px;color:#c62828;margin-bottom:20px;padding:15px 20px}.scan-results{margin-top:30px}.data-display{background:#f9f9f9;border-radius:10px;margin-bottom:20px;padding:25px}.data-type{color:#667eea;font-size:20px;font-weight:600;margin-bottom:15px}.data-content{background:#fff;border-radius:8px;margin-bottom:20px;padding:20px;word-break:break-all}.data-content a{color:#667eea;font-weight:500;text-decoration:none}.data-content a:hover{text-decoration:underline}.data-content pre{color:#333;font-family:Courier New,monospace;margin:0;white-space:pre-wrap}.vcard-info,.wifi-info{line-height:1.8}.vcard-info div,.wifi-info div{margin-bottom:8px}.vcard-info strong,.wifi-info strong{color:#555;margin-right:8px}.data-actions{display:flex;flex-wrap:wrap;gap:10px}.data-actions button{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .3s ease}.data-actions button:hover{background:#5568d3;transform:translateY(-1px)}.qr-details-section{margin-top:20px}.details-toggle{background:#f5f5f5;border:none;border-radius:6px;color:#555;cursor:pointer;font-weight:500;padding:12px 16px;text-align:left;transition:all .3s ease;width:100%}.details-toggle:hover{background:#e0e0e0}.qr-details{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-top:15px;padding:20px}.detail-item{border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:10px 0}.detail-item:last-child{border-bottom:none}.detail-label{color:#555;font-weight:500}.detail-value{color:#333;font-family:Courier New,monospace}@media (max-width:768px){.scan-container{padding:20px}.scan-mode-toggle{flex-direction:column}.scan-mode-toggle button{max-width:100%}.scan-frame{height:200px;width:200px}.data-actions{flex-direction:column}.data-actions button{width:100%}}
/*# sourceMappingURL=main.d44f4289.css.map*/