.QrCodeGeneratorTool-module__Ivzmfa__tool{flex-direction:column;gap:24px;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__modeTabs{background:var(--color-surface-2,#edf0e4);border-radius:14px;gap:8px;width:fit-content;padding:6px;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__modeTabs button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:background .2s,color .2s,box-shadow .2s;display:inline-flex}.QrCodeGeneratorTool-module__Ivzmfa__modeTabs button:hover{color:var(--color-text-primary)}.QrCodeGeneratorTool-module__Ivzmfa__modeTabActive{box-shadow:var(--shadow-sm,0 1px 3px #00000014);color:var(--color-text-primary)!important;background:#fff!important}.QrCodeGeneratorTool-module__Ivzmfa__generateLayout{grid-template-columns:1fr 1fr;align-items:start;gap:28px;display:grid}.QrCodeGeneratorTool-module__Ivzmfa__inputPanel{flex-direction:column;gap:20px;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__contentTabs{flex-wrap:wrap;gap:6px;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__contentTabs button{border:1.5px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__contentTabs button:hover{border-color:var(--color-accent,#c3db6b);color:var(--color-text-primary)}.QrCodeGeneratorTool-module__Ivzmfa__contentTabActive{border-color:var(--color-accent,#c3db6b)!important;color:var(--color-text-primary)!important;background:#c3db6b1a!important;font-weight:600!important}.QrCodeGeneratorTool-module__Ivzmfa__contentTabIcon{font-size:16px;line-height:1}.QrCodeGeneratorTool-module__Ivzmfa__contentTabLabel{font-size:13px}.QrCodeGeneratorTool-module__Ivzmfa__formCard{border:1px solid var(--color-border);box-shadow:var(--shadow-sm,0 1px 3px #00000014);background:#fff;border-radius:20px;padding:24px}.QrCodeGeneratorTool-module__Ivzmfa__formTitle{color:var(--color-text-primary);margin:0 0 20px;font-family:DM Serif Display,serif;font-size:18px;font-weight:400}.QrCodeGeneratorTool-module__Ivzmfa__formGroup{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__formGroup:last-child{margin-bottom:0}.QrCodeGeneratorTool-module__Ivzmfa__formRow{gap:12px;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__formRow>*{flex:1}.QrCodeGeneratorTool-module__Ivzmfa__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600}.QrCodeGeneratorTool-module__Ivzmfa__hint{color:var(--color-text-muted);font-size:12px;line-height:1.4}.QrCodeGeneratorTool-module__Ivzmfa__input,.QrCodeGeneratorTool-module__Ivzmfa__textarea,.QrCodeGeneratorTool-module__Ivzmfa__select{border:1.5px solid var(--color-border);width:100%;color:var(--color-text-primary);background:#fff;border-radius:10px;outline:none;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .2s,box-shadow .2s}.QrCodeGeneratorTool-module__Ivzmfa__input:focus,.QrCodeGeneratorTool-module__Ivzmfa__textarea:focus,.QrCodeGeneratorTool-module__Ivzmfa__select:focus{border-color:var(--color-accent,#c3db6b);box-shadow:0 0 0 3px #c3db6b33}.QrCodeGeneratorTool-module__Ivzmfa__textarea{resize:vertical;min-height:80px}.QrCodeGeneratorTool-module__Ivzmfa__select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.QrCodeGeneratorTool-module__Ivzmfa__fileInput{display:none}.QrCodeGeneratorTool-module__Ivzmfa__checkLabel{color:var(--color-text-primary);cursor:pointer;align-items:center;gap:8px;font-family:DM Sans,sans-serif;font-size:14px;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__checkLabel input[type=checkbox]{accent-color:var(--color-accent,#c3db6b);cursor:pointer;width:16px;height:16px}.QrCodeGeneratorTool-module__Ivzmfa__colorPicker{align-items:center;gap:10px;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__colorInput{border:2px solid var(--color-border);cursor:pointer;background:#fff;border-radius:8px;width:36px;height:36px;padding:2px}.QrCodeGeneratorTool-module__Ivzmfa__colorInput::-webkit-color-swatch-wrapper{padding:0}.QrCodeGeneratorTool-module__Ivzmfa__colorInput::-webkit-color-swatch{border:none;border-radius:5px}.QrCodeGeneratorTool-module__Ivzmfa__colorInput::-moz-color-swatch{border:none;border-radius:5px}.QrCodeGeneratorTool-module__Ivzmfa__colorText{color:var(--color-text-muted);min-width:70px;font-family:DM Mono,monospace;font-size:13px}.QrCodeGeneratorTool-module__Ivzmfa__range{appearance:none;background:var(--color-surface-2,#edf0e4);cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px}.QrCodeGeneratorTool-module__Ivzmfa__range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-accent,#c3db6b);cursor:pointer;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 4px #00000026}.QrCodeGeneratorTool-module__Ivzmfa__range::-moz-range-thumb{background:var(--color-accent,#c3db6b);cursor:pointer;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 4px #00000026}.QrCodeGeneratorTool-module__Ivzmfa__range::-moz-range-track{background:var(--color-surface-2,#edf0e4);border-radius:3px;height:6px}.QrCodeGeneratorTool-module__Ivzmfa__rangeLabels{color:var(--color-text-muted);justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__errorLevelGrid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.QrCodeGeneratorTool-module__Ivzmfa__errorLevelGrid button{border:1.5px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;text-align:center;background:#fff;border-radius:10px;padding:10px 8px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.QrCodeGeneratorTool-module__Ivzmfa__errorLevelGrid button:hover{border-color:var(--color-accent,#c3db6b)}.QrCodeGeneratorTool-module__Ivzmfa__errorLevelActive{border-color:var(--color-accent,#c3db6b)!important;color:var(--color-text-primary)!important;background:#c3db6b1f!important}.QrCodeGeneratorTool-module__Ivzmfa__logoActions{align-items:center;gap:10px;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__uploadBtn{border:1.5px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:border-color .15s,background .15s;display:inline-flex}.QrCodeGeneratorTool-module__Ivzmfa__uploadBtn:hover{border-color:var(--color-accent,#c3db6b);background:#c3db6b0f}.QrCodeGeneratorTool-module__Ivzmfa__removeLogo{color:#dc2626;cursor:pointer;background:#fef2f2;border:none;border-radius:8px;padding:6px 12px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;transition:background .15s}.QrCodeGeneratorTool-module__Ivzmfa__removeLogo:hover{background:#fee2e2}.QrCodeGeneratorTool-module__Ivzmfa__previewPanel{flex-direction:column;gap:20px;display:flex;position:sticky;top:24px}.QrCodeGeneratorTool-module__Ivzmfa__previewCard{border:1px solid var(--color-border);box-shadow:var(--shadow-sm,0 1px 3px #00000014);background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:20px;padding:28px;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__previewTitle{color:var(--color-text-primary);align-self:flex-start;margin:0;font-family:DM Serif Display,serif;font-size:18px;font-weight:400}.QrCodeGeneratorTool-module__Ivzmfa__canvasWrap{background:var(--color-surface,#fafcf5);border:1px dashed var(--color-border);border-radius:16px;justify-content:center;align-items:center;width:100%;min-height:240px;padding:24px;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__qrCanvas{border-radius:4px;max-width:100%;height:auto}.QrCodeGeneratorTool-module__Ivzmfa__downloadActions{flex-wrap:wrap;gap:10px;width:100%;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__primaryBtn{background:var(--color-accent,#c3db6b);color:#fff;cursor:pointer;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,transform .15s,box-shadow .2s;display:inline-flex}.QrCodeGeneratorTool-module__Ivzmfa__primaryBtn:hover{background:var(--color-accent-hover,#b5cf55);transform:translateY(-1px);box-shadow:0 4px 14px #c3db6b4d}.QrCodeGeneratorTool-module__Ivzmfa__primaryBtn:active{transform:translateY(0)}.QrCodeGeneratorTool-module__Ivzmfa__primaryBtn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.QrCodeGeneratorTool-module__Ivzmfa__secondaryBtn{color:var(--color-text-primary);border:1.5px solid var(--color-border);cursor:pointer;background:#fff;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:border-color .2s,background .2s;display:inline-flex}.QrCodeGeneratorTool-module__Ivzmfa__secondaryBtn:hover{border-color:var(--color-accent,#c3db6b);background:#c3db6b0f}.QrCodeGeneratorTool-module__Ivzmfa__secondaryBtn:disabled{opacity:.5;cursor:not-allowed}.QrCodeGeneratorTool-module__Ivzmfa__ghostBtn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;transition:color .2s,background .2s;display:inline-flex}.QrCodeGeneratorTool-module__Ivzmfa__ghostBtn:hover{color:var(--color-text-primary);background:var(--color-surface-2,#edf0e4)}.QrCodeGeneratorTool-module__Ivzmfa__dangerBtn{color:#dc2626;cursor:pointer;background:#fef2f2;border:1.5px solid #fecaca;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,border-color .2s;display:inline-flex}.QrCodeGeneratorTool-module__Ivzmfa__dangerBtn:hover{background:#fee2e2;border-color:#f87171}.QrCodeGeneratorTool-module__Ivzmfa__scannerLayout{flex-direction:column;gap:24px;max-width:640px;margin:0 auto;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__scannerCard{border:1px solid var(--color-border);box-shadow:var(--shadow-sm,0 1px 3px #00000014);background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:20px;padding:28px;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__scannerDesc{color:var(--color-text-muted);text-align:center;margin:0;font-family:DM Sans,sans-serif;font-size:14px;line-height:1.6}.QrCodeGeneratorTool-module__Ivzmfa__scannerActions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.QrCodeGeneratorTool-module__Ivzmfa__cameraWrap{aspect-ratio:1;background:#000;border-radius:16px;width:100%;max-width:480px;position:relative;overflow:hidden}.QrCodeGeneratorTool-module__Ivzmfa__cameraVideo{object-fit:cover;width:100%;height:100%;display:block}.QrCodeGeneratorTool-module__Ivzmfa__scanResult{background:linear-gradient(135deg,#c3db6b14 0%,#c3db6b0a 100%);border:1px solid #c3db6b4d;border-radius:14px;width:100%;padding:20px}.QrCodeGeneratorTool-module__Ivzmfa__scanResultTitle{color:var(--color-text-primary);margin:0 0 8px;font-family:DM Serif Display,serif;font-size:16px}.QrCodeGeneratorTool-module__Ivzmfa__scanResultText{color:var(--color-text-primary);word-break:break-all;border:1px solid var(--color-border);background:#fff;border-radius:10px;margin:0;padding:12px 16px;font-family:DM Mono,monospace;font-size:13px;line-height:1.6}.QrCodeGeneratorTool-module__Ivzmfa__scanError{color:#dc2626;text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;width:100%;padding:14px 18px;font-family:DM Sans,sans-serif;font-size:14px}@media (max-width:900px){.QrCodeGeneratorTool-module__Ivzmfa__generateLayout{grid-template-columns:1fr}.QrCodeGeneratorTool-module__Ivzmfa__previewPanel{position:static}}@media (max-width:640px){.QrCodeGeneratorTool-module__Ivzmfa__modeTabs{width:100%}.QrCodeGeneratorTool-module__Ivzmfa__modeTabs button{text-align:center;flex:1;padding:10px 12px}.QrCodeGeneratorTool-module__Ivzmfa__contentTabs{gap:4px}.QrCodeGeneratorTool-module__Ivzmfa__contentTabs button{padding:6px 10px;font-size:12px}.QrCodeGeneratorTool-module__Ivzmfa__contentTabIcon{font-size:14px}.QrCodeGeneratorTool-module__Ivzmfa__formCard{border-radius:16px;padding:18px}.QrCodeGeneratorTool-module__Ivzmfa__previewCard,.QrCodeGeneratorTool-module__Ivzmfa__scannerCard{border-radius:16px;padding:20px}.QrCodeGeneratorTool-module__Ivzmfa__formRow{flex-direction:column;gap:0}.QrCodeGeneratorTool-module__Ivzmfa__errorLevelGrid{grid-template-columns:repeat(2,1fr)}.QrCodeGeneratorTool-module__Ivzmfa__downloadActions{flex-direction:column}.QrCodeGeneratorTool-module__Ivzmfa__downloadActions .QrCodeGeneratorTool-module__Ivzmfa__primaryBtn,.QrCodeGeneratorTool-module__Ivzmfa__downloadActions .QrCodeGeneratorTool-module__Ivzmfa__secondaryBtn{width:100%}.QrCodeGeneratorTool-module__Ivzmfa__canvasWrap{min-height:200px;padding:16px}.QrCodeGeneratorTool-module__Ivzmfa__scannerActions{flex-direction:column;width:100%}.QrCodeGeneratorTool-module__Ivzmfa__scannerActions button{width:100%}}
.page-module__4vS3Xq__heroCompact{border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#f5f7ee 0%,#fafcf5 100%);padding:48px 0 36px}.page-module__4vS3Xq__breadcrumb{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;font-size:14px;display:flex}.page-module__4vS3Xq__breadcrumb a{color:inherit;text-decoration:none;transition:color .15s}.page-module__4vS3Xq__breadcrumb a:hover{color:var(--color-accent-hover)}.page-module__4vS3Xq__heroTitleCompact{color:var(--color-text-primary);margin-bottom:8px;font-family:DM Serif Display,serif;font-size:32px;font-weight:400;line-height:1.2}.page-module__4vS3Xq__heroSub{color:var(--color-text-muted);margin:0;font-size:15px}.page-module__4vS3Xq__sectionTitle{color:var(--color-text-primary);margin-bottom:40px;font-family:DM Serif Display,serif;font-size:32px}.page-module__4vS3Xq__toolSectionTop{border-bottom:1px solid var(--color-border);background:#fafcf5;padding:40px 0 60px}.page-module__4vS3Xq__howToSection{background:#f5f7ee;padding:64px 0}.page-module__4vS3Xq__howToList{grid-template-columns:repeat(3,1fr);gap:24px;margin:0;padding:0;list-style:none;display:grid}.page-module__4vS3Xq__howToItem{border:1px solid var(--color-border);background:#fff;border-radius:16px;gap:16px;padding:24px;display:flex}.page-module__4vS3Xq__stepNum{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:700;display:flex}.page-module__4vS3Xq__howToItem strong{color:var(--color-text-primary);margin-bottom:8px;font-size:.95rem;display:block}.page-module__4vS3Xq__howToItem p{color:var(--color-text-secondary);margin:0;font-size:.85rem;line-height:1.6}.page-module__4vS3Xq__contentSection{border-top:1px solid var(--color-border);background:#fafcf5;padding:80px 0}.page-module__4vS3Xq__contentGrid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.page-module__4vS3Xq__contentCard{border:1px solid var(--color-border);background:#fff;border-radius:16px;padding:28px;transition:box-shadow .2s}.page-module__4vS3Xq__contentCard:hover{box-shadow:0 6px 20px #00000008}.page-module__4vS3Xq__contentEmoji{margin-bottom:14px;font-size:2rem;display:block}.page-module__4vS3Xq__contentCard h3{color:var(--color-text-primary);margin-bottom:10px;font-size:1rem;font-weight:700}.page-module__4vS3Xq__contentCard p{color:var(--color-text-secondary);margin:0;font-size:.875rem;line-height:1.7}.page-module__4vS3Xq__relatedSection{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:#fff;padding:72px 0}.page-module__4vS3Xq__relatedGrid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.page-module__4vS3Xq__relatedCard{border:1px solid var(--color-border);background:#fff;border-radius:16px;align-items:flex-start;gap:16px;padding:24px;text-decoration:none;transition:all .2s;display:flex}.page-module__4vS3Xq__relatedCard:hover{border-color:var(--color-accent);background:#edf0e4;transform:translateY(-2px);box-shadow:0 4px 12px #00000008}.page-module__4vS3Xq__relatedEmoji{flex-shrink:0;margin-top:2px;font-size:1.5rem}.page-module__4vS3Xq__relatedCard strong{color:var(--color-text-primary);margin-bottom:6px;font-size:.9rem;font-weight:700;display:block}.page-module__4vS3Xq__relatedCard p{color:var(--color-text-secondary);margin:0;font-size:.8rem;line-height:1.5}.page-module__4vS3Xq__faqSection{background:#f5f7ee;padding:100px 0}@media (max-width:900px){.page-module__4vS3Xq__howToList,.page-module__4vS3Xq__contentGrid,.page-module__4vS3Xq__relatedGrid{grid-template-columns:1fr}}@media (max-width:768px){.page-module__4vS3Xq__heroCompact{padding:24px 0 16px}.page-module__4vS3Xq__heroTitleCompact{font-size:24px}}
