@keyframes tm-blink{0%,50%{opacity:1}51%,to{opacity:0}}.tm--qr{--tm-cycle:7s}.tm-qr-url{fill:var(--text-subtle);transform-origin:0;animation:tm-qr-type var(--tm-cycle) var(--ease) infinite}@keyframes tm-qr-type{0%,2%{transform:scaleX(0)}20%,92%{transform:scaleX(1)}98%,to{transform:scaleX(0)}}.tm-qr-caret{fill:var(--accent);animation:tm-qr-caret var(--tm-cycle) var(--ease) infinite, tm-blink .875s steps(1, end) infinite;transform:translate(70px)}@keyframes tm-qr-caret{0%,2%{transform:translate(0)}20%,92%{transform:translate(70px)}98%,to{transform:translate(0)}}.tm-qr-chip--on{fill:var(--surface-inset);stroke:var(--border-strong)}.tm-qr-finder{animation:tm-qr-land var(--tm-cycle) var(--ease) infinite backwards}.tm-qr-finder--2{animation-delay:90ms}.tm-qr-finder--3{animation-delay:.18s}@keyframes tm-qr-land{0%,22%{opacity:0;transform:scale(.55)}32%,92%{opacity:1;transform:none}98%,to{opacity:0;transform:scale(.55)}}.tm-qr-m{animation:tm-qr-fill var(--tm-cycle) var(--ease) infinite backwards}.tm-qr-m--1{animation-delay:20ms}.tm-qr-m--2{animation-delay:40ms}.tm-qr-m--3{animation-delay:60ms}.tm-qr-m--4{animation-delay:80ms}.tm-qr-m--5{animation-delay:.1s}.tm-qr-m--6{animation-delay:.12s}.tm-qr-m--7{animation-delay:.14s}.tm-qr-m--8{animation-delay:.16s}.tm-qr-m--9{animation-delay:.18s}.tm-qr-m--10{animation-delay:.2s}.tm-qr-m--11{animation-delay:.22s}.tm-qr-m--12{animation-delay:.24s}.tm-qr-m--13{animation-delay:.26s}.tm-qr-m--14{animation-delay:.28s}.tm-qr-m--15{animation-delay:.3s}.tm-qr-m--16{animation-delay:.32s}.tm-qr-m--17{animation-delay:.34s}.tm-qr-m--18{animation-delay:.36s}.tm-qr-m--19{animation-delay:.38s}.tm-qr-m--20{animation-delay:.4s}.tm-qr-m--21{animation-delay:.42s}.tm-qr-m--22{animation-delay:.44s}.tm-qr-m--23{animation-delay:.46s}.tm-qr-m--24{animation-delay:.48s}@keyframes tm-qr-fill{0%,32%{opacity:0;transform:scale(.4)}44%,92%{opacity:1;transform:none}98%,to{opacity:0;transform:scale(.4)}}.tm-qr-out{animation:tm-qr-out var(--tm-cycle) var(--ease) infinite backwards}.tm-qr-out--2{animation-delay:.11s}@keyframes tm-qr-out{0%,58%{opacity:0;transform:translateY(7px)}68%,92%{opacity:1;transform:none}98%,to{opacity:0;transform:translateY(7px)}}.tm--qr .tm-qr-done{animation:tm-qr-done var(--tm-cycle) var(--ease) infinite}@keyframes tm-qr-done{0%,74%{opacity:0;transform:scale(.8)}82%,92%{opacity:1;transform:none}98%,to{opacity:0;transform:scale(.8)}}.tool:has(>.qr),.qr__host{container-type:inline-size}.qr{flex-direction:column;gap:16px;display:flex}.qr__main{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}@container (width>=620px){.qr__main{grid-template-columns:minmax(0,1.15fr) minmax(230px,.85fr)}.qr__out{position:sticky;top:16px}}.qr__form{flex-direction:column;gap:12px;min-width:0;display:flex}.qr__types{flex-wrap:wrap}.qr__types button{flex:1 0 auto}.qr__fields{flex-direction:column;gap:10px;min-width:0;display:flex}.qr__fields[hidden]{display:none}.qr__row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}@container (width<=420px){.qr__row{grid-template-columns:minmax(0,1fr)}}.qr__field{flex-direction:column;gap:5px;min-width:0;display:flex}.qr__label{color:var(--text-muted);font-size:.8125rem}.qr__textarea{resize:vertical;height:auto;padding:10px 12px;line-height:1.5}.qr__check{color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;font-size:.8125rem;display:flex}.qr__check input{accent-color:var(--accent)}.qr__hint{color:var(--text-subtle);margin:0;font-size:.8125rem;line-height:1.55}.qr__hint--strong{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-subtle);padding:9px 11px}.qr__hint code{font-size:.9em}.qr__more,.qr__bulk{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-subtle)}.qr__more>summary,.qr__bulk>summary{color:var(--text-muted);cursor:pointer;padding:11px 14px;font-size:.8438rem;font-weight:560;list-style:none}.qr__more>summary::-webkit-details-marker{display:none}.qr__bulk>summary::-webkit-details-marker{display:none}.qr__more>summary:before,.qr__bulk>summary:before{content:"";vertical-align:1px;border-inline:4px solid #0000;width:0;height:0;transition:transform .15s var(--ease);border-top:5px solid;margin-right:9px;display:inline-block;transform:rotate(-90deg)}.qr__more[open]>summary:before,.qr__bulk[open]>summary:before{transform:none}.qr__more>summary:hover,.qr__bulk>summary:hover{color:var(--text)}.qr__options,.qr__bulk-body{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:12px 14px 14px;display:flex}.qr__colour{align-items:center;gap:8px;display:flex}.qr__colour input[type=color]{border:1px solid var(--border-input);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;flex:0 0 40px;width:40px;height:34px;padding:0}.qr__colour input[type=color]::-webkit-color-swatch-wrapper{padding:3px}.qr__colour input[type=color]::-webkit-color-swatch{border:0;border-radius:3px}.qr__hex{min-width:0;height:34px;font-family:var(--font-mono);font-size:.8125rem}.qr__ec-hint{opacity:.65;font-variant-numeric:tabular-nums}.qr__out{flex-direction:column;gap:10px;min-width:0;display:flex}.qr__stage{border:1px solid var(--border);border-radius:var(--r-lg);background:conic-gradient(from 90deg at 50% 50%, var(--surface-inset) 0 25%, transparent 0 50%, var(--surface-inset) 0 75%, transparent 0) 0 0 / 16px 16px, var(--surface);place-items:center;padding:14px;display:grid}.qr__canvas{width:100%;max-width:260px;height:auto;image-rendering:pixelated;border-radius:2px;display:block}.qr__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qr__actions .btn{flex:1 0 auto}.qr__actions [data-qr=expand]{flex:none}.qr__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.qr__note{color:var(--text-subtle);margin:0;font-size:.8125rem;line-height:1.55}.qr__bulk-count{color:var(--text-subtle);font-variant-numeric:tabular-nums;font-size:.8125rem}.qr__host{height:100%;min-height:420px}.qr__host>.qr{height:100%}.qr__host [data-qr=expand]{display:none}.qr__host .qr__canvas{max-width:min(520px,42vh)}.qr__host .qr__stage{padding:clamp(.75rem,2vw,1.75rem)}.qr__host .qr__bulk[open]{flex-direction:column;flex:1;min-height:0;display:flex}.qr__host .qr__bulk[open] .qr__bulk-body{flex:1;min-height:0}.qr__host .qr__bulk[open] .qr__textarea{resize:none;flex:1;min-height:120px}
