.qr{--qr-gap:20px;--qr-radius:14px;display:flex;flex-direction:column;gap:var(--qr-gap)}.qr-nojs{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--qr-radius);background:var(--surface2);color:var(--muted);font-size:.9rem;line-height:1.5}.qr[data-qr-ready] .qr-nojs{display:none}.qr-types{display:flex;flex-wrap:wrap;gap:8px}.qr-type{appearance:none;border:1px solid var(--line);border-radius:var(--pp-btn-radius,10px);background:var(--surface);color:var(--muted);font-family:var(--tl-sans);font-size:.88rem;font-weight:600;line-height:1;padding:9px 14px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.qr-type:hover{color:var(--ink);border-color:var(--soft-ink)}.qr-type.is-active{background:var(--accent,#f5a524);border-color:var(--accent,#f5a524);color:#1a1206}.qr-type:focus-visible{outline:2px solid var(--accent,#f5a524);outline-offset:2px}.qr-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--qr-gap)}.qr-panel{min-width:0}.qr-panel--content{display:flex;flex-direction:column;gap:var(--qr-gap)}@media (min-width:900px){.qr-sticky{position:sticky;top:88px}}.qr-form{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--line);border-radius:var(--qr-radius);background:var(--surface)}.qr-form:focus{outline:0}.qr-field{display:flex;flex-direction:column;gap:6px;min-width:0}.qr-field-row{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}@media (min-width:560px){.qr-field-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.qr-field__readout{font-family:var(--tl-mono);font-size:.78rem;color:var(--soft-ink);font-weight:500}.qr-field__color,.qr-field__file{width:100%;box-sizing:border-box;font-family:var(--tl-sans)!important;font-size:.92rem!important;color:var(--ink)!important;background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--pp-btn-radius,10px)!important;padding:9px 11px;transition:border-color .15s ease,box-shadow .15s ease}.qr-field__file:focus-visible{outline:0;border-color:var(--accent,#f5a524)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#f5a524) 26%,transparent)}.qr-field.pp-field--suffix .pp-input{--ppf-suffix:68px}.qr-field__reveal{position:absolute;right:6px;appearance:none;border:0;background:0 0;color:var(--soft-ink);font-family:var(--tl-sans);font-size:.78rem;font-weight:600;padding:6px 8px;cursor:pointer;border-radius:6px}.qr-field__reveal:hover{color:var(--ink)}.qr-field__reveal:focus-visible{outline:2px solid var(--accent,#f5a524);outline-offset:1px}.qr-field--color .qr-field__color{height:40px;padding:4px;cursor:pointer}.qr-field__range{width:100%;accent-color:var(--accent,#f5a524);cursor:pointer}.qr-field--checkbox{flex-direction:row;align-items:center;gap:9px}.qr-field__checkbox{width:17px;height:17px;flex:0 0 auto;accent-color:var(--accent,#f5a524);cursor:pointer}.qr-field__checklabel{font-family:var(--tl-sans);font-size:.88rem;color:var(--ink);cursor:pointer}.qr-field__file{padding:8px 10px;cursor:pointer}.qr-logo__meta{display:flex;align-items:center;gap:10px;margin:0;min-height:20px;font-size:.8rem;color:var(--soft-ink)}.qr-logo__name{overflow-wrap:anywhere}.qr-logo__clear{appearance:none;border:0;background:0 0;color:var(--bad);font-family:var(--tl-sans);font-size:.78rem;font-weight:600;cursor:pointer;padding:2px 4px;border-radius:5px}.qr-logo__clear:focus-visible{outline:2px solid var(--bad);outline-offset:1px}.qr-appearance{display:flex;flex-direction:column}.qr-appearance__body{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--line);border-radius:var(--qr-radius);background:var(--surface)}.qr-reset{align-self:flex-start;appearance:none;border:1px solid var(--line);border-radius:var(--pp-btn-radius,10px);background:var(--surface);color:var(--muted);font-family:var(--tl-sans);font-size:.82rem;font-weight:600;padding:8px 13px;cursor:pointer}.qr-reset:hover{color:var(--ink);border-color:var(--soft-ink)}.qr-reset:focus-visible{outline:2px solid var(--accent,#f5a524);outline-offset:2px}.qr-preview{display:flex;align-items:center;justify-content:center;padding:18px;border:1px solid var(--line);border-radius:var(--qr-radius);background:#fff;min-height:220px}.qr-preview__svg{display:block;width:min(var(--qr-preview-size,260px),100%);height:auto}.qr-preview__note{margin:0;text-align:center;font-size:.74rem;color:var(--soft-ink);font-family:var(--tl-mono)}.qr-preview__note:empty{display:none}.qr-preview__empty{margin:0;text-align:center;font-size:.84rem;color:var(--soft-ink)}.qr-status{margin:0;padding:9px 12px;border-radius:var(--pp-btn-radius,10px);font-family:var(--tl-sans);font-size:.85rem;font-weight:600;text-align:center;min-height:1em}.qr-status:empty{display:none}.qr-status--good{background:color-mix(in srgb,var(--good) 14%,transparent);color:var(--good)}.qr-status--fair{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.qr-status--poor{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}.qr-findings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.qr-findings:empty{display:none}.qr-finding{position:relative;padding-left:18px;font-size:.8rem;line-height:1.5;color:var(--muted)}.qr-finding::before{content:"";position:absolute;left:4px;top:.5em;width:6px;height:6px;border-radius:50%}.qr-finding--fair::before{background:var(--warn)}.qr-finding--poor::before{background:var(--bad)}.qr-exports{display:flex;flex-direction:column}.qr-exports__body,.qr-previewcard{display:flex;flex-direction:column;gap:9px;padding:16px;border:1px solid var(--line);border-radius:var(--qr-radius);background:var(--surface)}.qr-previewcard{align-items:stretch}.qr-exports__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.qr-export{appearance:none;border:1px solid var(--line);border-radius:var(--pp-btn-radius,10px);background:var(--surface);color:var(--ink);font-family:var(--tl-sans);font-size:.82rem;font-weight:600;padding:10px 8px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.qr-export:hover:not(:disabled){border-color:var(--accent,#f5a524)}.qr-export:focus-visible{outline:2px solid var(--accent,#f5a524);outline-offset:2px}.qr-export:disabled{cursor:not-allowed;color:var(--soft-ink);border-color:var(--line);background:var(--surface2)}.qr-technical{border:1px solid var(--line);border-radius:var(--qr-radius);background:var(--surface2);padding:12px 14px}.qr-technical__summary{cursor:pointer;font-family:var(--tl-sans);font-size:.85rem;font-weight:600;color:var(--muted);list-style:none}.qr-technical__summary::-webkit-details-marker{display:none}.qr-technical__summary::after{content:"+";float:right;color:var(--soft-ink);font-weight:400}.qr-technical[open] .qr-technical__summary::after{content:"\2212"}.qr-technical__summary:focus-visible{outline:2px solid var(--accent,#f5a524);outline-offset:3px}.qr-technical__list{margin:12px 0 0;display:flex;flex-direction:column;gap:6px}.qr-technical__row{display:flex;justify-content:space-between;gap:12px;font-size:.8rem}.qr-technical__row dt{color:var(--soft-ink)}.qr-technical__row dd{margin:0;font-family:var(--tl-mono);color:var(--ink);text-align:right;overflow-wrap:anywhere}.qr-diagnostics{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:5px}.qr-diagnostics:empty{display:none}.qr-diagnostic{position:relative;padding-left:16px;font-size:.76rem;line-height:1.5;color:var(--muted)}.qr-diagnostic::before{content:"";position:absolute;left:3px;top:.5em;width:5px;height:5px;border-radius:50%;background:var(--good)}.qr-diagnostic--fair::before{background:var(--warn)}.qr-diagnostic--poor::before{background:var(--bad)}.qr-technical__label{margin:14px 0 6px;font-size:.78rem;font-weight:600;color:var(--soft-ink)}.qr-technical__encoded{margin:0;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);max-height:150px;overflow:auto}.qr-technical__encoded code{font-family:var(--tl-mono);font-size:.74rem;line-height:1.55;color:var(--ink);background:0 0;padding:0;white-space:pre-wrap;overflow-wrap:anywhere}.qr-copy{margin-top:10px;appearance:none;border:1px solid var(--line);border-radius:var(--pp-btn-radius,10px);background:var(--surface);color:var(--ink);font-family:var(--tl-sans);font-size:.8rem;font-weight:600;padding:8px 12px;cursor:pointer}.qr-copy:hover:not(:disabled){border-color:var(--accent,#f5a524)}.qr-copy:focus-visible{outline:2px solid var(--accent,#f5a524);outline-offset:2px}.qr-copy:disabled{cursor:not-allowed;color:var(--soft-ink);background:var(--surface2)}@media (prefers-reduced-motion:reduce){.qr-copy,.qr-export,.qr-field__control,.qr-type{transition:none}}.qr-swatch{display:flex;align-items:center;gap:10px;min-width:0}.qr-field--color .qr-field__color,.qr-swatch .qr-field__color{flex:none;width:44px;height:34px;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer;appearance:none;-webkit-appearance:none}.qr-swatch .qr-field__color::-webkit-color-swatch-wrapper{padding:3px}.qr-swatch .qr-field__color::-webkit-color-swatch{border:0;border-radius:6px}.qr-swatch .qr-field__color::-moz-color-swatch{border:0;border-radius:6px}.qr-swatch__hex{font-family:var(--tl-mono);font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qr-logo__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.qr-logo__drop{display:flex;flex-direction:column;align-items:center;gap:3px;padding:18px 16px;cursor:pointer;text-align:center;border:1px dashed var(--line);border-radius:12px;background:var(--surface2);transition:border-color .18s ease,background .18s ease}.qr-logo__drop svg{width:22px;height:22px;color:var(--muted)}.qr-logo__drop span{font-size:13px;font-weight:600;color:var(--ink)}.qr-logo__drop small{font-size:11.5px;color:var(--muted)}.qr-logo__drop:hover{border-color:var(--theme-color2,#ffaa17);background:var(--surface)}.qr-logo__input:focus-visible+.qr-logo__drop{outline:2px solid var(--theme-color2,#ffaa17);outline-offset:2px}.qr:has(#qr-transparent:checked) .qr-preview{--qr-check:color-mix(in srgb, var(--ink) 8%, transparent);background-image:linear-gradient(45deg,var(--qr-check) 25%,transparent 25%,transparent 75%,var(--qr-check) 75%),linear-gradient(45deg,var(--qr-check) 25%,transparent 25%,transparent 75%,var(--qr-check) 75%);background-size:16px 16px;background-position:0 0,8px 8px}.qr-field__range{height:22px}.qr-field__range:focus-visible{outline:2px solid var(--theme-color2,#ffaa17);outline-offset:3px}.qr-cols{display:grid;gap:var(--tool-section-gap);align-items:start}.qr-section+.qr-section{margin-top:var(--tool-section-gap)}@media (min-width:1180px){.qr-cols{grid-template-columns:minmax(0,1.02fr) minmax(0,0.98fr);gap:clamp(20px,2vw,28px)}.qr-cols__side{--pp-panel-top-rest:16px;--pp-panel-top-bar:88px;position:sticky;top:var(--pp-panel-top-rest);max-height:calc(100vh - var(--pp-panel-top-rest) - 24px);overflow-y:auto;overscroll-behavior:contain;transition:top .3s cubic-bezier(.16, 1, .3, 1),max-height .3s cubic-bezier(.16, 1, .3, 1)}body.pp-sticky-bar-visible .qr-cols__side{top:var(--pp-panel-top-bar);max-height:calc(100vh - var(--pp-panel-top-bar) - 24px)}}@media (min-width:1180px) and (prefers-reduced-motion:reduce){.qr-cols__side{transition:none}}@media (max-width:1179.98px){.qr-cols__side{order:-1}}.qr-card--code .qr-preview{width:100%;max-width:360px;aspect-ratio:1/1;margin-inline:auto;display:grid;place-items:center;padding:clamp(16px,2vw,24px)}.qr-card--code .qr-preview:not(:has(svg)):not(:has(img)){border-style:dashed;border-color:color-mix(in srgb,var(--line) 70%,transparent);background:var(--surface2)}.qr-exports__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.qr-subsection{margin-top:clamp(20px,2.4vw,26px);padding-top:clamp(18px,2.2vw,24px);border-top:1px solid var(--line2)}