.label-tool{display:grid;grid-template-columns:1fr;gap:clamp(1.2rem,3vw,2rem);margin-top:clamp(1.5rem,3vw,2.2rem)}@media(min-width:821px){.label-tool{grid-template-columns:.95fr 1.05fr;align-items:start}.label-inputs{grid-column:1;grid-row:1}.label-preview{grid-column:2;grid-row:1;position:sticky;top:calc(var(--header-h) + 1rem)}}html:not(.js) .label-preview{display:none}.label-preview-inner{padding:clamp(1rem,2.5vw,1.4rem);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);box-shadow:var(--shadow-card)}.label-preview-head{display:inline-block;margin-bottom:.75rem;padding:.3rem .72rem;border-radius:999px;background:#d64c0847;border:1px solid var(--accent-line);color:var(--ink);font-size:.64rem;letter-spacing:.12em}.label-stage{position:relative;display:grid;place-items:center;min-height:200px;padding:1rem;border-radius:var(--r);background:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px) 0 0 / 24px 24px,linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px) 0 0 / 24px 24px,var(--surface-1)}.label-svg{width:100%;height:auto;max-width:360px}.label-empty{position:absolute;max-width:18rem;padding:0 1rem;color:var(--ink-faint);font-size:.9rem;text-align:center;pointer-events:none}.label-stage-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;margin-top:.8rem}.label-zoom{padding:.5rem 1rem;font-size:.85rem}.label-preview-note{display:inline-block;max-width:22rem;padding:.38rem .72rem;border-radius:10px;background:#d64c0847;border:1px solid var(--accent-line);color:var(--ink);font-size:.64rem;line-height:1.45}@media(max-width:600px){.label-tool{display:block}.label-preview{position:sticky;top:var(--header-h);z-index:5;margin-bottom:1.3rem}.label-preview-inner{padding:.55rem .7rem}.label-preview-head,.label-drag-hint,.label-stage-foot{display:none}.label-stage{min-height:0;padding:.5rem}.label-svg{width:auto;height:130px;max-width:100%;transition:height var(--t) var(--ease-out)}.label-tool:has(input:focus:not([type=radio]):not([type=checkbox]):not([type=file]):not([type=range])) .label-svg,.label-tool:has(textarea:focus) .label-svg{height:88px}}.label-tool.label-zoomed .label-preview{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);background:#08090ce6}.label-tool.label-zoomed .label-preview-inner{width:100%;max-width:720px}.label-tool.label-zoomed .label-svg{max-width:640px}.label-block{margin:0 0 1.2rem;padding:0;border:0}.label-block legend{margin-bottom:.5rem;padding:0;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.label-row,.label-custom{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.2rem}@media(max-width:600px){.label-row,.label-custom{grid-template-columns:1fr}}.label-num-range{display:grid;grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.8rem;margin-bottom:1.2rem}.label-fit{color:var(--ink-faint);font-size:.78rem}.label-swatches{display:flex;flex-wrap:wrap;gap:.5rem}.label-swatch{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .85rem .45rem .5rem;border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:border-color var(--t) ease}.label-swatch input{position:absolute;width:1px;height:1px;opacity:0}.label-swatch-chip{width:18px;height:18px;border-radius:50%;background:var(--chip);border:1px solid rgba(255,255,255,.25);flex-shrink:0}.label-swatch-name{font-size:.85rem;color:var(--ink-soft)}.label-swatch:has(input:checked){border-color:var(--accent)}.label-swatch:has(input:checked) .label-swatch-name{color:var(--ink)}.label-swatch:has(input:checked):after{content:"✓";margin-left:.05rem;color:var(--accent);font-size:.8rem;font-weight:700}.label-swatch input:focus-visible~.label-swatch-chip{outline:2px solid var(--accent);outline-offset:2px}.label-align{display:flex;gap:.2rem;padding:.25rem;border:1px solid var(--line);border-radius:9px}.label-align-opt{position:relative;flex:1 1 0;cursor:pointer}.label-align-opt input{position:absolute;width:1px;height:1px;opacity:0}.label-align-opt span{display:block;padding:.45rem .5rem;border:1px solid transparent;border-radius:6px;font-size:.92rem;text-align:center;color:var(--ink);transition:background-color var(--t) ease,border-color var(--t) ease,color var(--t) ease}.label-align-opt:has(input:checked) span{background:var(--accent-tint);border-color:var(--accent);color:var(--ink);font-weight:600}.label-align-opt input:focus-visible~span{outline:2px solid var(--accent);outline-offset:2px}.label-range{width:100%;accent-color:var(--accent)}.label-check{display:flex;align-items:flex-start;gap:.6rem;font-size:.92rem;color:var(--ink-soft);cursor:pointer}.label-check input{margin-top:.2rem}.label-actions{margin-top:.5rem}.label-actions-note{margin-top:.6rem;font-size:.8rem;color:var(--ink-soft)}.label-actions-note a{color:var(--accent);text-decoration:underline}.label-preview-cta{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--line)}.label-preview-cta .btn{display:block;width:100%;text-align:center}.label-preview-cta .label-actions-note{text-align:center}.label-svg [data-obj]{cursor:grab}.label-svg [data-obj].is-dragging{cursor:grabbing}.label-svg [data-obj]:focus{outline:none}.label-svg [data-obj]:focus-visible>rect:first-of-type{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:4 3}.label-drag-hint{margin:.75rem 0 0;font-size:.9rem;color:var(--ink)}.label-warn{display:flex;align-items:flex-start;gap:.6rem;margin-top:.8rem;padding:.7rem .8rem;border:1px solid var(--accent-line);border-radius:var(--r);background:#d64c0829}.label-warn-q{flex-shrink:0;display:grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:.85rem}.label-warn-body{flex:1;min-width:0}.label-warn-x{flex-shrink:0;padding:0 .2rem;border:0;background:transparent;color:var(--ink-soft);font-size:1.2rem;line-height:1;cursor:pointer}.label-warn-x:hover{color:var(--ink)}.label-warn-msg{margin:0 0 .55rem;font-size:.82rem;color:var(--ink)}.label-warn-actions{display:flex;flex-wrap:wrap;gap:.5rem}.label-warn-btn{padding:.4rem .8rem;font-size:.78rem}.label-warn-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.label-upload{margin-bottom:.9rem}.label-upload:last-child{margin-bottom:0}.label-upload-row{display:flex;flex-wrap:nowrap;align-items:center;gap:.6rem}.label-upload-btn{flex:none;padding:.5rem 1rem;font-size:.85rem;cursor:pointer}.label-upload-btn:focus-within{outline:2px solid var(--accent);outline-offset:2px}.label-upload-name{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;color:var(--ink-soft)}.label-upload-clear{flex:none;padding:.32rem .7rem;border:1px solid var(--accent-line);border-radius:999px;background:transparent;color:var(--accent);font-size:.8rem;font-weight:600;cursor:pointer;transition:background-color var(--t) ease,color var(--t) ease}.label-upload-clear:hover,.label-upload-clear:focus-visible{background:var(--accent-tint);color:var(--ink)}.label-upload-err{color:var(--accent-bright);font-size:.78rem}.label-upload-err:empty{display:none}.label-upload-size{margin-top:.6rem;max-width:16rem}.label-upload-size input[type=range]{width:100%;accent-color:var(--accent)}@media(prefers-reduced-motion:reduce){.label-swatch{transition:none}}
