.qr-generator{padding:32px;background:var(--paper);border-radius:var(--card-radius)}.qr-intro h2{font-size:clamp(1.75rem,3vw,2.5rem);letter-spacing:-.035em;margin:12px 0}.qr-intro>p:last-child{color:var(--muted)}.qr-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.qr-tabs button{border:1px solid var(--line);border-radius:24px;padding:10px 18px;background:var(--paper);color:var(--ink);font:inherit;font-size:.875rem;cursor:pointer}.qr-tabs button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.qr-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;align-items:start}.qr-field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;font-size:.875rem;font-weight:600}.qr-field input,.qr-field select,.qr-field textarea{width:100%;min-width:0;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:13px;font:inherit;font-weight:400}.qr-field textarea{resize:vertical}.qr-check{display:flex;gap:10px;align-items:center;font-size:.875rem}.qr-options{margin:24px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.qr-options summary{cursor:pointer;font-weight:600;font-size:.875rem;margin-bottom:16px}.qr-output{background:var(--soft);border:1px solid var(--line);border-radius:var(--card-radius);padding:24px;text-align:center}.qr-preview{width:100%;max-width:256px;aspect-ratio:1;margin:20px auto 12px;background:var(--paper);display:grid;place-items:center;border-radius:8px}.qr-preview svg{width:100%;height:auto}.qr-preview p{padding:20px;font-size:.875rem;color:var(--muted)}.qr-preview-status{min-height:40px;font-size:.8125rem;font-weight:600}.qr-destination{overflow-wrap:anywhere;font-size:.75rem;margin:12px 0}.qr-downloads{display:grid;gap:10px;margin:16px 0}.qr-generator button:disabled{opacity:.5;cursor:not-allowed}.qr-footnote,.qr-hint{padding:16px;background:var(--accent-tint);border-radius:8px;font-size:.8125rem;line-height:1.7;margin-top:20px}.qr-footnote{margin-top:28px}@media (max-width:700px){.qr-generator{padding:18px}.qr-grid{grid-template-columns:1fr;gap:24px}.qr-tabs button{padding:10px 14px}.qr-output{padding:18px}}