.QRCodeGenerator-module__2IFKja__generator{gap:var(--spacing-2xl);max-width:1400px;padding:var(--spacing-2xl)var(--spacing-lg);grid-template-columns:1fr 1fr;margin:0 auto;display:grid}@media (max-width:1024px){.QRCodeGenerator-module__2IFKja__generator{grid-template-columns:1fr}}.QRCodeGenerator-module__2IFKja__controls{gap:var(--spacing-xl);flex-direction:column;display:flex}.QRCodeGenerator-module__2IFKja__section{animation:QRCodeGenerator-module__2IFKja__fadeIn var(--transition-base)ease-out}.QRCodeGenerator-module__2IFKja__section h3{margin-bottom:var(--spacing-md);color:var(--text-primary);font-size:1.25rem}.QRCodeGenerator-module__2IFKja__typeSelector{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.QRCodeGenerator-module__2IFKja__typeSelector button{justify-content:center;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-base);cursor:pointer;font-weight:600;display:flex}.QRCodeGenerator-module__2IFKja__typeSelector button:hover{background:var(--surface-light);border-color:var(--border-light);color:var(--text-primary);transform:translateY(-2px)}.QRCodeGenerator-module__2IFKja__typeSelector button.QRCodeGenerator-module__2IFKja__active{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-color:var(--primary);color:#fff;box-shadow:var(--shadow-lg)}.QRCodeGenerator-module__2IFKja__inputGroup{gap:var(--spacing-xs);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.QRCodeGenerator-module__2IFKja__inputGroup label{align-items:center;gap:var(--spacing-xs);color:var(--text-primary);font-size:.9rem;font-weight:600;display:flex}.QRCodeGenerator-module__2IFKja__inputGroup input,.QRCodeGenerator-module__2IFKja__inputGroup select,.QRCodeGenerator-module__2IFKja__inputGroup textarea{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-sm)var(--spacing-md);transition:all var(--transition-fast);outline:none;font-family:inherit;font-size:1rem}.QRCodeGenerator-module__2IFKja__inputGroup input:focus,.QRCodeGenerator-module__2IFKja__inputGroup select:focus,.QRCodeGenerator-module__2IFKja__inputGroup textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #7c3bed1a}.QRCodeGenerator-module__2IFKja__inputGroup textarea{resize:vertical;min-height:80px}.QRCodeGenerator-module__2IFKja__customizationGrid{gap:var(--spacing-md);display:grid}.QRCodeGenerator-module__2IFKja__colorPicker{gap:var(--spacing-sm);align-items:center;display:flex}.QRCodeGenerator-module__2IFKja__colorPicker input[type=color]{border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:var(--surface);width:60px;height:45px;padding:4px}.QRCodeGenerator-module__2IFKja__colorPicker input[type=color]::-webkit-color-swatch-wrapper{padding:0}.QRCodeGenerator-module__2IFKja__colorPicker input[type=color]::-webkit-color-swatch{border-radius:var(--radius-sm);border:none}.QRCodeGenerator-module__2IFKja__colorPicker input[type=text]{flex:1;font-family:Courier New,monospace}.QRCodeGenerator-module__2IFKja__inputGroup input[type=range]{cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);appearance:none;outline:none;height:8px}.QRCodeGenerator-module__2IFKja__inputGroup input[type=range]::-webkit-slider-thumb{appearance:none;background:linear-gradient(135deg,var(--primary),var(--primary-dark));cursor:pointer;border:3px solid var(--background);width:20px;height:20px;box-shadow:var(--shadow-md);border-radius:50%}.QRCodeGenerator-module__2IFKja__inputGroup input[type=range]::-moz-range-thumb{background:linear-gradient(135deg,var(--primary),var(--primary-dark));cursor:pointer;border:3px solid var(--background);width:20px;height:20px;box-shadow:var(--shadow-md);border-radius:50%}.QRCodeGenerator-module__2IFKja__preview{top:var(--spacing-2xl);height:fit-content;position:sticky}.QRCodeGenerator-module__2IFKja__previewCard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-lg);animation:QRCodeGenerator-module__2IFKja__fadeIn var(--transition-base)ease-out}.QRCodeGenerator-module__2IFKja__previewCard h3{margin-bottom:var(--spacing-lg);color:var(--text-primary);text-align:center;font-size:1.25rem}.QRCodeGenerator-module__2IFKja__qrContainer{padding:var(--spacing-xl);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);background:#fff;justify-content:center;align-items:center;min-height:300px;display:flex}.QRCodeGenerator-module__2IFKja__qrContainer svg{max-width:100%;height:auto;filter:drop-shadow(var(--shadow-md));display:block}.QRCodeGenerator-module__2IFKja__downloadButtons{gap:var(--spacing-md);display:flex}.QRCodeGenerator-module__2IFKja__downloadButtons button{justify-content:center;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);flex:1;font-weight:600;display:flex}.QRCodeGenerator-module__2IFKja__logoPreview{aspect-ratio:1;border:2px solid var(--border);border-radius:var(--radius-md);width:100%;max-width:150px;padding:var(--spacing-sm);background:#fff;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.QRCodeGenerator-module__2IFKja__logoPreview img{object-fit:contain;max-width:100%;max-height:100%}.QRCodeGenerator-module__2IFKja__removeLogoBtn{background:var(--error);color:#fff;cursor:pointer;width:28px;height:28px;transition:all var(--transition-fast);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:20px;line-height:1;display:flex;position:absolute;top:4px;right:4px}.QRCodeGenerator-module__2IFKja__removeLogoBtn:hover{box-shadow:var(--shadow-md);transform:scale(1.1)}.QRCodeGenerator-module__2IFKja__qrContainer{position:relative}.QRCodeGenerator-module__2IFKja__qrContainer.QRCodeGenerator-module__2IFKja__frame-basic{background:#fff;border:10px solid #1a1a1a;border-radius:12px;padding:12px 12px 48px;position:relative}.QRCodeGenerator-module__2IFKja__qrContainer.QRCodeGenerator-module__2IFKja__frame-basic:after{content:attr(data-frame-text);color:#fff;text-align:center;letter-spacing:.15em;text-transform:uppercase;background:#1a1a1a;padding:10px;font-size:18px;font-weight:800;position:absolute;bottom:0;left:0;right:0}.QRCodeGenerator-module__2IFKja__qrContainer.QRCodeGenerator-module__2IFKja__frame-rounded{background:#44c9c0;border-radius:16px;padding:80px 24px 60px;position:relative;overflow:visible;box-shadow:0 8px 24px #00000026}.QRCodeGenerator-module__2IFKja__qrContainer.QRCodeGenerator-module__2IFKja__frame-rounded:before{content:"";z-index:5;border-top:70px solid #fff;border-left:140px solid #0000;border-right:140px solid #0000;width:0;height:0;position:absolute;top:0;left:50%;transform:translate(-50%)}.QRCodeGenerator-module__2IFKja__qrContainer.QRCodeGenerator-module__2IFKja__frame-rounded svg{z-index:6;background:#fff;border-radius:8px;padding:16px;position:relative;box-shadow:0 4px 12px #0000001a}.QRCodeGenerator-module__2IFKja__qrContainer.QRCodeGenerator-module__2IFKja__frame-rounded:after{content:attr(data-frame-text);color:#fff;letter-spacing:.15em;text-transform:uppercase;z-index:7;font-size:18px;font-weight:800;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.QRCodeGenerator-module__2IFKja__qrContainer.QRCodeGenerator-module__2IFKja__frame-speech{background:#fff;border:8px solid #ffd84d;border-radius:16px;padding:60px 16px 16px;position:relative;overflow:visible}.QRCodeGenerator-module__2IFKja__qrContainer.QRCodeGenerator-module__2IFKja__frame-speech:before{content:"";z-index:8;background:#ffd84d;border-radius:50%;width:60px;height:50px;margin-left:-80px;position:absolute;top:-8px;left:50%;transform:rotate(-25deg);box-shadow:inset 0 -8px 12px #0000001a}.QRCodeGenerator-module__2IFKja__qrContainer.QRCodeGenerator-module__2IFKja__frame-speech:after{content:"";z-index:8;background:#ffd84d;border-radius:50%;width:60px;height:50px;margin-left:20px;position:absolute;top:-8px;left:50%;transform:rotate(25deg);box-shadow:inset 0 -8px 12px #0000001a,-70px 8px 0 -10px #ffd84d,-70px 8px 0 -8px #e6b800}.QRCodeGenerator-module__2IFKja__qrContainer.QRCodeGenerator-module__2IFKja__frame-speech{box-shadow:0 4px 12px #0000001a}.QRCodeGenerator-module__2IFKja__qrContainer.QRCodeGenerator-module__2IFKja__frame-speech>div:after{content:attr(data-frame-text);color:#333;letter-spacing:.1em;text-transform:uppercase;z-index:10;background:#ffd84d;border:3px solid #e6b800;border-radius:6px;padding:8px 32px;font-size:16px;font-weight:800;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000026}@media (max-width:768px){.QRCodeGenerator-module__2IFKja__generator{padding:var(--spacing-lg)}.QRCodeGenerator-module__2IFKja__preview{position:static}.QRCodeGenerator-module__2IFKja__typeSelector{grid-template-columns:1fr 1fr}.QRCodeGenerator-module__2IFKja__downloadButtons{flex-direction:column}}
.page-module__E0kJGG__page{flex-direction:column;min-height:100vh;display:flex}.page-module__E0kJGG__header{background:var(--surface);border-bottom:1px solid var(--border);padding:var(--spacing-lg)var(--spacing-2xl);z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#191d24e6;position:sticky;top:0}.page-module__E0kJGG__logo{background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-text-fill-color:transparent;transition:opacity var(--transition-fast);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;text-decoration:none;display:inline-block}.page-module__E0kJGG__logo:hover{opacity:.8}.page-module__E0kJGG__heroSection{background:linear-gradient(180deg,var(--background)0%,var(--surface)100%);padding:var(--spacing-2xl)0;border-bottom:1px solid var(--border)}.page-module__E0kJGG__container{max-width:1400px;padding:0 var(--spacing-lg);margin:0 auto}.page-module__E0kJGG__hero{text-align:center;animation:.6s ease-out page-module__E0kJGG__fadeIn}.page-module__E0kJGG__hero h1{margin-bottom:var(--spacing-md);background:linear-gradient(135deg,var(--primary-light),var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,5vw,3.5rem)}.page-module__E0kJGG__subtitle{color:var(--text-secondary);max-width:700px;margin:0 auto var(--spacing-2xl);font-size:clamp(1rem,2vw,1.25rem);line-height:1.6}.page-module__E0kJGG__subtitle strong{color:var(--primary-light);font-weight:700}.page-module__E0kJGG__features{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-width:900px;margin:0 auto;display:grid}.page-module__E0kJGG__feature{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;transition:all var(--transition-base)}.page-module__E0kJGG__feature:hover{border-color:var(--border-light);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.page-module__E0kJGG__icon{width:50px;height:50px;margin:0 auto var(--spacing-md);background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;display:flex}.page-module__E0kJGG__feature h3{margin-bottom:var(--spacing-xs);color:var(--text-primary);font-size:1.125rem}.page-module__E0kJGG__feature p{color:var(--text-muted);margin:0;font-size:.9rem}.page-module__E0kJGG__main{min-height:100vh;padding:0}.page-module__E0kJGG__footer{margin-top:var(--spacing-2xl);padding:var(--spacing-2xl);text-align:center;border-top:1px solid var(--border);background:var(--surface)}.page-module__E0kJGG__footer p{color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:.95rem}.page-module__E0kJGG__footer strong{color:var(--primary);font-size:1.1rem;font-weight:700}.page-module__E0kJGG__footerLinks{justify-content:center;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.page-module__E0kJGG__footerLinks a{color:var(--text-primary);transition:color var(--transition-fast);font-weight:600;text-decoration:none}.page-module__E0kJGG__footerLinks a:hover{color:var(--primary)}.page-module__E0kJGG__footerLinks span{color:var(--text-secondary)}.page-module__E0kJGG__copyright{color:var(--text-secondary);margin-top:var(--spacing-md);margin-bottom:0;font-size:.85rem}@media (max-width:768px){.page-module__E0kJGG__header{padding:var(--spacing-xl)0}.page-module__E0kJGG__features{gap:var(--spacing-md);grid-template-columns:1fr}.page-module__E0kJGG__main,.page-module__E0kJGG__footer{padding:var(--spacing-lg)0}}
