.qr-tool{max-width:1080px;margin:0 auto;padding:6rem 16px 4.5rem}.qr-hero{text-align:center;margin-bottom:28px}.qr-eyebrow{letter-spacing:1.1px;text-transform:uppercase;color:var(--brand-ink,#1f6f5c);font-size:.72rem;font-weight:700;display:inline-block}.qr-hero h1{letter-spacing:-.4px;margin:6px 0 10px;font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.15}.qr-hero p{max-width:60ch;color:var(--muted,#6b6b66);margin:0 auto;font-size:.98rem;line-height:1.6}.qr-layout{grid-template-columns:1fr;align-items:start;gap:24px;display:grid}@media (width>=880px){.qr-layout{grid-template-columns:minmax(0,1fr) 340px;gap:32px}.qr-output{position:sticky;top:88px}}.qr-form{background:var(--surface,#fff);border:1px solid var(--border,#e2e2dd);border-radius:14px;flex-direction:column;gap:16px;padding:20px;display:flex}.qr-tabs{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.qr-tab{border:1px solid var(--border,#e2e2dd);color:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:7px 14px;font-size:.88rem;font-weight:500;transition:background .15s,border-color .15s,color .15s}.qr-tab:hover{border-color:var(--brand,#4caf7d)}.qr-tab.is-active{background:var(--brand,#4caf7d);border-color:var(--brand,#4caf7d);color:#fff}.qr-row{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=560px){.qr-row{grid-template-columns:1fr 1fr}}.qr-field{flex-direction:column;gap:5px;min-width:0;display:flex}.qr-field-label{letter-spacing:.2px;font-size:.82rem;font-weight:600}.qr-field input,.qr-field textarea,.qr-field select,.qr-control select{width:100%;font:inherit;border:1px solid var(--border,#e2e2dd);background:var(--input-bg,#fff);color:inherit;border-radius:9px;padding:9px 11px;font-size:.95rem}.qr-field textarea{resize:vertical;min-height:72px}.qr-field input:focus-visible,.qr-field textarea:focus-visible,.qr-field select:focus-visible,.qr-control select:focus-visible{outline:2px solid var(--brand,#4caf7d);outline-offset:1px;border-color:var(--brand,#4caf7d)}.qr-field-hint{color:var(--muted,#6b6b66);font-size:.78rem;line-height:1.45}.qr-check{cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.qr-check input{width:16px;height:16px;accent-color:var(--brand,#4caf7d)}.qr-form-actions{gap:8px;display:flex}.qr-tab--card{margin-left:auto}@media (width<=620px){.qr-tab--card{margin-left:0}}.qr-control-label{letter-spacing:.2px;font-size:.82rem;font-weight:600}.qr-note{color:var(--muted,#6b6b66);margin:0;font-size:.78rem;line-height:1.5}.qr-style{border:1px solid var(--border,#e2e2dd);background:var(--code-bg,#f6f6f4);border-radius:10px;overflow:hidden}.qr-style-toggle{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:10px 12px;font-size:.85rem;font-weight:600;display:flex}.qr-swatch{border:2px solid;border-radius:4px;flex:none;width:15px;height:15px;box-shadow:0 0 0 1px #0000001f}.qr-style-chevron{color:var(--muted,#6b6b66);margin-left:auto;font-size:.7rem}.qr-style-body{border-top:1px solid var(--border,#e2e2dd);flex-direction:column;gap:14px;padding:4px 12px 14px;display:flex}.qr-presets{flex-wrap:wrap;gap:7px;padding-top:10px;display:flex}.qr-preset{border:1px solid var(--border,#e2e2dd);cursor:pointer;border-radius:9px;place-items:center;width:34px;height:34px;padding:0;transition:transform .12s,box-shadow .12s;display:grid}.qr-preset:hover{transform:translateY(-1px)}.qr-preset.is-active{box-shadow:0 0 0 2px var(--brand,#4caf7d)}.qr-preset-dot{border-radius:4px;width:15px;height:15px}.qr-seg{background:var(--code-bg,#f6f6f4);border:1px solid var(--border,#e2e2dd);border-radius:9px;gap:4px;padding:3px;display:flex}.qr-seg-btn{font:inherit;color:var(--muted,#6b6b66);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:6px 10px;font-size:.83rem;font-weight:600;transition:background .15s,color .15s}.qr-seg-btn.is-active{background:var(--surface,#fff);color:inherit;box-shadow:0 1px 2px #00000014}.qr-style-body .qr-seg{background:var(--surface,#fff);flex-wrap:wrap}.qr-style-body .qr-seg-btn{white-space:nowrap;flex:1 1 0;min-width:0;padding:6px 4px}.qr-style-body .qr-seg-btn.is-active{background:var(--brand,#4caf7d);color:#fff;box-shadow:none}.qr-control input[type=text]{width:100%;font:inherit;border:1px solid var(--border,#e2e2dd);background:var(--input-bg,#fff);color:inherit;border-radius:8px;padding:8px 10px;font-size:.9rem}.qr-control input[type=text]:focus-visible{outline:2px solid var(--brand,#4caf7d);outline-offset:1px;border-color:var(--brand,#4caf7d)}.qr-presets--scene{padding-top:0}.qr-preset--scene{gap:0;width:42px;height:30px;padding:0;display:flex;overflow:hidden}.qr-preset-bar{flex:1;height:100%}.qr-control input[type=color]{border:1px solid var(--border,#e2e2dd);background:var(--input-bg,#fff);cursor:pointer;border-radius:8px;width:100%;height:34px;padding:2px}.qr-control input[type=range]{width:100%;accent-color:var(--brand,#4caf7d)}.qr-logo{flex-direction:column;gap:8px;display:flex}.qr-logo-row{align-items:center;gap:10px;display:flex}.qr-logo-thumb{object-fit:contain;border:1px solid var(--border,#e2e2dd);background:#fff;border-radius:8px;flex:none;width:42px;height:42px;padding:3px}.qr-logo-pick input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.qr-logo-pick{align-self:flex-start;position:relative}.qr-logo-pick>span{border:1px dashed var(--border,#c9c9c2);cursor:pointer;border-radius:9px;padding:8px 14px;font-size:.85rem;font-weight:600;display:inline-block}.qr-logo-pick:focus-within>span{outline:2px solid var(--brand,#4caf7d);outline-offset:1px}.qr-btn--small{width:auto;padding:6px 12px;font-size:.8rem}.qr-preview{flex-direction:column;gap:12px;display:flex}.qr-cardname{text-align:center;margin:0 0 -4px;font-size:1.02rem;font-weight:600}.qr-plate{border:1px solid var(--border,#e2e2dd);aspect-ratio:1;background:#fff;border-radius:14px;justify-content:center;align-items:center;padding:14px;display:flex;overflow:hidden}.qr-plate-img{object-fit:contain;image-rendering:auto;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.qr-3d{cursor:grab;outline-offset:2px;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:8px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.qr-3d.is-dragging{cursor:grabbing}.qr-3d.is-flat{cursor:pointer}.qr-3d-canvas{aspect-ratio:1;width:100%;height:auto;display:block}.qr-3d-hint{letter-spacing:.6px;text-transform:uppercase;color:#fff;pointer-events:none;background:#0000008c;border-radius:999px;padding:4px 10px;font-size:.68rem;font-weight:700;transition:background .25s;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.qr-3d.is-flat .qr-3d-hint{background:#000000b8}@media (prefers-reduced-motion:reduce){.qr-3d-hint{transition:none}}.qr-plate-empty{text-align:center;color:#9a9a93;flex-direction:column;align-items:center;gap:12px;padding:18px;font-size:.85rem;line-height:1.5;display:flex}.qr-controls{grid-template-columns:1fr 1fr;gap:10px;display:grid}.qr-control{flex-direction:column;gap:4px;min-width:0;display:flex}.qr-control>span{color:var(--muted,#6b6b66);font-size:.75rem;font-weight:600}.qr-control select{padding:7px 8px;font-size:.83rem}.qr-group{border:1px solid var(--border,#e2e2dd);background:var(--surface,#fff);border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex}.qr-group-title{letter-spacing:1px;text-transform:uppercase;color:var(--muted,#6b6b66);margin:0;font-size:.7rem;font-weight:700}.qr-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.qr-btn--wide,.qr-actions>:last-child:nth-child(2n){grid-column:1/-1}.qr-btn{text-align:center;min-width:0;font:inherit;border:1px solid var(--border,#e2e2dd);background:var(--surface,#fff);color:inherit;cursor:pointer;border-radius:9px;padding:9px 14px;font-size:.88rem;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s}.qr-btn:hover:not(.is-disabled):not(:disabled){border-color:var(--brand,#4caf7d)}.qr-btn--primary{background:var(--brand,#4caf7d);border-color:var(--brand,#4caf7d);color:#fff}.qr-btn.is-disabled,.qr-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.qr-warn{color:#8a6d1f;background:#ffd36e29;border:1px solid #ffd36e80;border-radius:9px;margin:0;padding:9px 11px;font-size:.8rem;line-height:1.5}.qr-payload{font-size:.82rem}.qr-payload>summary{cursor:pointer;color:var(--muted,#6b6b66);font-weight:600}.qr-payload pre{background:var(--code-bg,#f6f6f4);border:1px solid var(--border,#e2e2dd);white-space:pre-wrap;word-break:break-all;border-radius:8px;max-height:180px;margin:10px 0 8px;padding:10px;font-size:.75rem;line-height:1.5;overflow-y:auto}.qr-copy{font:inherit;border:1px solid var(--border,#e2e2dd);color:inherit;cursor:pointer;background:0 0;border-radius:7px;padding:5px 11px;font-size:.78rem;font-weight:600}.qr-payload-note{color:var(--muted,#6b6b66);margin:9px 0 0;font-size:.78rem;line-height:1.5}.qr-why{background:var(--surface,#fff);border:1px solid var(--border,#e2e2dd);border-radius:14px;margin-top:40px;padding:22px}.qr-why h2{margin:0 0 14px;font-size:1.05rem}.qr-why ul{flex-direction:column;gap:11px;margin:0;padding-left:20px;display:flex}.qr-why li{color:var(--muted,#6b6b66);font-size:.9rem;line-height:1.6}.qr-why li strong{color:inherit;font-weight:600}@media print{.qr-hero,.qr-form,.qr-controls,.qr-actions,.qr-payload,.qr-warn,.qr-note,.qr-style,.qr-group,.qr-why{display:none!important}.qr-tool{padding:0}.qr-layout{display:block}.qr-plate{border:none;width:62mm;margin:12mm auto 0;padding:0}.qr-cardname{margin-top:8mm;font-size:12pt}}@media (prefers-color-scheme:dark){.qr-plate-empty{color:#8b8b84}.qr-warn{color:#f0d79a;background:#ffd36e1a;border-color:#ffd36e47}}
