.QrCodeTool-module__roH1hG__shell{gap:1.25rem}.QrCodeTool-module__roH1hG__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.QrCodeTool-module__roH1hG__controls{gap:.85rem;display:grid}.QrCodeTool-module__roH1hG__kindGrid{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.QrCodeTool-module__roH1hG__kindBtn{appearance:none;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font:inherit;text-align:center;white-space:nowrap;background:0 0;padding:.55rem .5rem;font-size:.84rem;transition:all .14s}.QrCodeTool-module__roH1hG__kindBtn:hover,.QrCodeTool-module__roH1hG__kindBtn[aria-pressed=true]{color:var(--color-text-primary);border-color:var(--color-accent);background:var(--color-accent-soft)}.QrCodeTool-module__roH1hG__fields{gap:.55rem;display:grid}.QrCodeTool-module__roH1hG__field{gap:.35rem;display:grid}.QrCodeTool-module__roH1hG__field span{color:var(--color-text-secondary);font-size:.86rem;font-weight:500}.QrCodeTool-module__roH1hG__row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;display:grid}.QrCodeTool-module__roH1hG__optionGrid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.QrCodeTool-module__roH1hG__optionField{color:var(--color-text-secondary);gap:.3rem;font-size:.86rem;font-weight:500;display:grid}.QrCodeTool-module__roH1hG__colorInput{cursor:pointer;height:2.5rem;padding:.2rem}.QrCodeTool-module__roH1hG__logoRow{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface-elevated);gap:.45rem;padding:.75rem;display:grid}.QrCodeTool-module__roH1hG__logoLabel{color:var(--color-text-disabled);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:500}.QrCodeTool-module__roH1hG__logoHeader{justify-content:space-between;align-items:center;display:flex}.QrCodeTool-module__roH1hG__logoRemoveBtn{appearance:none;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font:inherit;background:0 0;padding:.25rem .6rem;font-size:.8rem;transition:all .14s}.QrCodeTool-module__roH1hG__logoRemoveBtn:hover{color:var(--color-text-primary);border-color:var(--color-accent)}.QrCodeTool-module__roH1hG__logoControls{gap:.55rem;display:grid}.QrCodeTool-module__roH1hG__logoMeta{flex:1;gap:.25rem;display:grid}.QrCodeTool-module__roH1hG__logoSliderLabel{color:var(--color-text-secondary);justify-content:space-between;align-items:center;font-size:.84rem;font-weight:500;display:flex}.QrCodeTool-module__roH1hG__logoSizeValue{color:var(--color-text-primary);font-family:var(--font-mono);font-size:.9rem}.QrCodeTool-module__roH1hG__logoThumb{object-fit:contain;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:#fff;width:2.5rem;height:2.5rem}.QrCodeTool-module__roH1hG__hiddenInput{display:none}.QrCodeTool-module__roH1hG__logoPreviewRow{align-items:flex-start;gap:.65rem;display:flex}.QrCodeTool-module__roH1hG__previewCard{gap:.75rem;display:grid;position:sticky;top:1rem}.QrCodeTool-module__roH1hG__qrBox{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);aspect-ratio:1;background:#fff;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.QrCodeTool-module__roH1hG__qrSvg{width:100%;height:100%}.QrCodeTool-module__roH1hG__qrSvg svg{width:100%;height:100%;display:block}.QrCodeTool-module__roH1hG__qrLogoOverlay{border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.QrCodeTool-module__roH1hG__qrLogoImg{object-fit:contain;width:80%;height:80%;display:block}.QrCodeTool-module__roH1hG__eclWarning{color:#f59e0b;border-radius:var(--radius-md);background:#f59e0b0f;border:1px solid #f59e0b4d;margin:0;padding:.5rem .65rem;font-size:.82rem;line-height:1.5}.QrCodeTool-module__roH1hG__payload{font-family:var(--font-mono);color:var(--color-text-secondary);word-break:break-all;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-elevated);padding:.5rem .65rem;font-size:.76rem;line-height:1.6}.QrCodeTool-module__roH1hG__sizeRow{grid-template-columns:repeat(4,1fr);gap:.35rem;display:grid}.QrCodeTool-module__roH1hG__sizeBtn{appearance:none;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font:inherit;text-align:center;white-space:nowrap;background:0 0;padding:.45rem .3rem;font-size:.78rem;transition:all .14s}.QrCodeTool-module__roH1hG__sizeBtn:hover,.QrCodeTool-module__roH1hG__sizeBtn[aria-pressed=true]{color:var(--color-text-primary);border-color:var(--color-accent);background:var(--color-accent-soft)}@media (max-width:720px){.QrCodeTool-module__roH1hG__grid{grid-template-columns:1fr}.QrCodeTool-module__roH1hG__previewCard{position:static}.QrCodeTool-module__roH1hG__sizeRow{grid-template-columns:repeat(2,1fr)}}@media (max-width:420px){.QrCodeTool-module__roH1hG__kindGrid{grid-template-columns:repeat(2,1fr)}.QrCodeTool-module__roH1hG__optionGrid{grid-template-columns:1fr}}
