.qr-wrap{max-width:1050px;margin:auto;padding:34px 16px 60px}.qr-hero{text-align:center;margin-bottom:26px}.qr-hero h1{font-size:clamp(31px,6vw,48px);margin:8px 0}.qr-hero p{max-width:720px;margin:auto;color:var(--muted)}.qr-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.qr-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;text-decoration:none;box-shadow:var(--shadow);transition:.2s}.qr-card:hover{transform:translateY(-3px);border-color:#f1c2c7}.qr-card span{font-size:29px}.qr-card h2{font-size:20px;margin:10px 0 5px}.qr-card p{margin:0;color:var(--muted);font-size:14px}.qr-panel{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;padding:clamp(17px,4vw,32px)}.qr-fields{display:grid;gap:14px}.qr-field label{display:block;font-weight:800;margin-bottom:6px}.qr-field input,.qr-field select,.qr-field textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:#fff}.qr-field input[type=color]{height:46px;padding:5px}.qr-field input:focus,.qr-field select:focus,.qr-field textarea:focus{outline:0;border-color:#ef9aa4;box-shadow:0 0 0 4px rgba(225,29,46,.08)}.qr-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.qr-output{min-height:360px;border:1px dashed #d9dde6;border-radius:16px;background:#fafbfe;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;overflow:hidden}.qr-output canvas,.qr-output img,.qr-output svg{max-width:100%;height:auto!important}.qr-actions{display:flex;gap:10px;flex-wrap:wrap}.qr-actions .btn{flex:1}.qr-help{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--muted);font-size:13px;line-height:1.7}.scanner-panel{padding:clamp(17px,4vw,30px)}#reader{max-width:650px;margin:auto;border:0!important}.scan-result{max-width:650px;margin:18px auto 0;padding:16px;border:1px solid #b7e4c4;border-radius:13px;background:#f2fbf5;overflow-wrap:anywhere}.scan-result strong{display:block;margin-bottom:6px}.scan-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.scan-note{text-align:center;color:var(--muted);font-size:13px;margin-top:15px}.library-note{font-size:12px;color:#8a8f9b}@media(max-width:760px){.qr-panel{grid-template-columns:1fr}.qr-list,.qr-row{grid-template-columns:1fr}.qr-wrap{padding:24px 12px 45px}.qr-output{min-height:300px}.qr-actions{flex-direction:column}.qr-actions .btn{width:100%}}
