.qr-tool{--qr-ink:#111;--qr-beige:#f4ede6;--qr-panel:#fff;--qr-pink:#ff6faf;--qr-border:#1111111f;--qr-ready:#22c55e}.qr-tool__shell{flex-direction:column;gap:1.25rem;width:100%;max-width:1600px;margin-inline:auto;padding:2rem 1rem 2.5rem;display:flex}@media (min-width:640px){.qr-tool__shell{gap:1.5rem;padding:2.5rem 1.25rem 3rem}}@media (min-width:1024px){.qr-tool__shell{padding:3rem 1.5rem 3.5rem}}.qr-tool__hero{align-items:center;gap:1.5rem;display:grid}@media (min-width:900px){.qr-tool__hero{grid-template-columns:minmax(0,1fr) minmax(220px,340px);gap:2rem}}.qr-tool__title{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;text-transform:uppercase;color:var(--qr-ink);font-size:clamp(2rem,5.5vw,3.75rem);font-weight:900;line-height:.92}.qr-tool__title-accent{font-family:var(--font-accent), cursive;text-transform:none;letter-spacing:0;color:var(--qr-pink);font-size:1.08em;font-weight:400}.qr-tool__intro{color:#11111185;max-width:36rem;margin-top:.85rem;font-size:.92rem;line-height:1.65}.qr-tool__badges{flex-wrap:wrap;gap:.55rem;margin-top:1rem;display:flex}.qr-tool__badge{letter-spacing:.06em;color:#1111119e;background:#ff6faf14;border:1px solid #ff6faf47;border-radius:9999px;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.62rem;font-weight:700;line-height:1;display:inline-flex}.qr-tool__badge .spark{color:var(--qr-pink)}.qr-tool__hero-art{aspect-ratio:4/3;width:100%;max-height:260px;position:relative}.qr-tool__workspace{align-items:start;gap:1rem;display:grid}@media (min-width:1024px){.qr-tool__workspace{grid-template-columns:minmax(0,1.15fr) minmax(300px,420px);gap:1.1rem}}.qr-tool__panel{border:1px solid var(--qr-border);background:var(--qr-panel);border-radius:16px;box-shadow:0 1px #1111110a}.qr-tool__form{padding:1.25rem 1.1rem 1.35rem}@media (min-width:1024px){.qr-tool__form{padding:1.5rem 1.35rem 1.6rem}}.qr-tool__form-grid{gap:1.25rem;display:grid}@media (min-width:1100px){.qr-tool__form-grid{grid-template-columns:minmax(0,1fr) minmax(180px,220px);align-items:start;gap:1.5rem}}.qr-tool__section{flex-direction:column;gap:.75rem;display:flex}.qr-tool__section+.qr-tool__section{border-top:1px solid var(--qr-border);margin-top:1.15rem;padding-top:1.15rem}.qr-tool__section-label{letter-spacing:.18em;text-transform:uppercase;color:#11111161;align-items:baseline;gap:.45rem;font-size:.48rem;font-weight:800;display:flex}.qr-tool__section-num{color:var(--qr-pink)}.qr-tool__type-row{flex-wrap:wrap;gap:.45rem;display:flex}.qr-tool__type-btn{letter-spacing:.1em;text-transform:uppercase;color:var(--qr-ink);cursor:pointer;background:0 0;border:1.5px solid #1111112e;border-radius:8px;align-items:center;gap:.4rem;padding:.55rem .85rem;font-size:.58rem;font-weight:800;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.qr-tool__type-btn[data-active=true]{border-color:var(--qr-pink);background:var(--qr-pink);color:#fff}.qr-tool__content-input-wrap{position:relative}.qr-tool__content-icon{pointer-events:none;color:#11111147;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.qr-tool__content-input{width:100%;color:var(--qr-ink);background:#fff;border:1px solid #11111126;border-radius:8px;outline:none;padding:.85rem .85rem .85rem 2.35rem;font-size:.88rem}.qr-tool__content-input:focus{border-color:var(--qr-pink)}.qr-tool__tip-box{color:#1111118c;background:#fff7fbe6;border:1px solid #ff6faf40;border-radius:10px;padding:.85rem .75rem;font-size:.68rem;line-height:1.45}.qr-tool__tip-box .spark{color:var(--qr-pink);margin-right:.15rem}.qr-tool__tip-box strong{color:var(--qr-pink);font-weight:800}.qr-tool__colors-grid{gap:.85rem;display:grid}@media (min-width:640px){.qr-tool__colors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.qr-tool__color-field-label{letter-spacing:.14em;text-transform:uppercase;color:#1116;margin-bottom:.4rem;font-size:.48rem;font-weight:800;display:block}.qr-tool__color-row{background:#fff;border:1px solid #1111111f;border-radius:8px;align-items:center;gap:.5rem;padding:.45rem .55rem;display:flex}.qr-tool__color-swatch{cursor:pointer;border:1px solid #1111111f;border-radius:6px;flex-shrink:0;width:2rem;height:2rem;overflow:hidden}.qr-tool__color-swatch input{cursor:pointer;width:150%;height:150%;margin:-25%}.qr-tool__color-hex{letter-spacing:.06em;text-transform:uppercase;min-width:0;color:var(--qr-ink);background:0 0;border:0;outline:none;flex:1;font-family:ui-monospace,monospace;font-size:.72rem;font-weight:600}.qr-tool__color-copy{color:#11111159;cursor:pointer;background:0 0;border:0;padding:0}.qr-tool__checkbox-block{flex-direction:column;gap:.2rem;display:flex}.qr-tool__checkbox-row{color:#111111b8;align-items:center;gap:.45rem;font-size:.75rem;font-weight:600;display:flex}.qr-tool__checkbox-help{color:#1111116b;padding-left:1.45rem;font-size:.65rem;line-height:1.4}.qr-tool__quick-style{flex-direction:column;gap:.55rem;display:flex}.qr-tool__quick-row{flex-wrap:wrap;gap:.65rem;display:flex}.qr-tool__quick-btn{cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:.35rem;padding:0;display:flex}.qr-tool__quick-dot{border:2px solid #1111111f;border-radius:9999px;width:2.25rem;height:2.25rem;transition:border-color .15s,transform .15s}.qr-tool__quick-btn[data-active=true] .qr-tool__quick-dot{border-color:var(--qr-pink);transform:scale(1.06)}.qr-tool__quick-label{letter-spacing:.12em;text-transform:uppercase;color:#11111173;font-size:.46rem;font-weight:800}.qr-tool__size-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.qr-tool__size-btn{min-width:2.75rem;color:var(--qr-ink);cursor:pointer;background:#fff;border:1.5px solid #11111129;border-radius:8px;padding:.5rem .65rem;font-size:.68rem;font-weight:700;transition:border-color .15s,color .15s}.qr-tool__size-btn[data-active=true]{border-color:var(--qr-pink);color:var(--qr-pink)}.qr-tool__size-unit{color:#11111161;font-size:.68rem;font-weight:600}.qr-tool__actions{border-top:1px solid var(--qr-border);flex-wrap:wrap;gap:.65rem;margin-top:1.35rem;padding-top:1.25rem;display:flex}.qr-tool__download-btn{background:var(--qr-pink);letter-spacing:.12em;text-transform:uppercase;color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;padding:.9rem 1.35rem;font-size:.56rem;font-weight:800;transition:opacity .15s,transform .15s;display:inline-flex}.qr-tool__download-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.qr-tool__download-btn:disabled{opacity:.45;cursor:not-allowed}.qr-tool__copy-btn{letter-spacing:.12em;text-transform:uppercase;color:var(--qr-ink);cursor:pointer;background:#fff;border:1.5px solid #11111138;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;padding:.9rem 1.15rem;font-size:.56rem;font-weight:800;transition:border-color .15s,color .15s;display:inline-flex}.qr-tool__copy-btn:hover:not(:disabled){border-color:var(--qr-pink);color:var(--qr-pink)}.qr-tool__copy-btn:disabled{opacity:.45;cursor:not-allowed}.qr-tool__copy-btn[data-copied=true]{border-color:var(--qr-pink);color:var(--qr-pink)}.qr-tool__privacy{color:#1111116b;align-items:flex-start;gap:.4rem;width:100%;margin-top:.35rem;font-size:.62rem;line-height:1.45;display:flex}.qr-tool__preview{flex-direction:column;gap:1rem;padding:1.25rem 1.1rem 1.35rem;display:flex}@media (min-width:1024px){.qr-tool__preview{padding:1.35rem 1.25rem 1.5rem;position:sticky;top:5.5rem}}.qr-tool__preview-stage{background:#fff;border:1px solid #1111111a;border-radius:12px;flex-direction:column;align-items:center;gap:.85rem;padding:1.25rem 1rem;display:flex}.qr-tool__preview-stage[data-transparent=true]{background-color:#ececec;background-image:linear-gradient(45deg,#ccc 25%,#0000 25%),linear-gradient(-45deg,#ccc 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ccc 75%),linear-gradient(-45deg,#0000 75%,#ccc 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.qr-tool__preview-canvas{max-width:100%;line-height:0;overflow:auto}.qr-tool__ready-badge{letter-spacing:.06em;color:#15803d;background:#22c55e1f;border-radius:9999px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.58rem;font-weight:700;display:inline-flex}.qr-tool__ready-badge[data-ready=false]{color:#11111161;background:#1111110f}.qr-tool__scan-hint{color:#1116;text-align:center;font-size:.68rem}.qr-tool__preview-tip{color:#11111185;background:#ff6faf14;border:1px solid #ff6faf38;border-radius:10px;padding:.85rem .9rem;font-size:.68rem;line-height:1.45}.qr-tool__preview-tip .heart{color:var(--qr-pink);margin-right:.15rem}
