.ornament-editor{margin:24px 0;padding:20px;border:1px solid var(--e-stone,#ddd);border-radius:18px;background:#faf9f6}.ornament-editor h2{font-size:1.5rem;margin:0 0 10px}.ornament-editor p{font-size:.88rem;line-height:1.5}.ornament-upload{display:grid;gap:8px;font-weight:600}.ornament-upload input{max-width:100%;font-size:.85rem}.ornament-stage{position:relative;margin:18px auto;max-width:440px;aspect-ratio:1;background:repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 0/20px 20px;border:1px solid #d6d4ce;border-radius:14px;overflow:hidden}.ornament-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:move}.ornament-guide{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.ornament-guide :is(path,circle,rect){fill:none;stroke:#6b7d72;stroke-width:.45;stroke-dasharray:2 1}.ornament-empty{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#4e6157}.ornament-empty[hidden]{display:none}.ornament-editor fieldset{padding:0;border:0;display:grid;gap:14px;min-width:0}.ornament-editor legend{font-weight:700;margin-bottom:12px}.ornament-editor fieldset>label:not(.ornament-consent){display:grid;grid-template-columns:95px 1fr;align-items:center;gap:8px}.ornament-editor input[type=range]{width:100%;padding:0;accent-color:#294a3e;min-width:0}.ornament-editor select{width:100%;padding:10px;border:1px solid #d6d4ce;border-radius:8px}.ornament-editor output{font-size:.85rem}.ornament-editor label:has(output) input{grid-column:1/-1}.ornament-consent{display:flex;align-items:flex-start;gap:9px;font-size:.85rem}.ornament-consent input{flex-shrink:0;width:18px;height:18px}.ornament-editor details{padding:12px;border:1px solid #ddd;border-radius:10px}.ornament-editor details label{display:flex;align-items:center;gap:10px;margin:12px 0}.ornament-editor [role=status]{min-height:1.5em}.ornament-editor [role=status][data-error=true]{color:#a33528}@media(max-width:600px){.ornament-editor{padding:14px}.ornament-editor h2{font-size:1.25rem}}

.ornament-editor details input[type=checkbox]{width:18px;height:18px;flex:0 0 18px}.ornament-editor details input[type=color]{width:48px;height:34px;flex:0 0 48px;padding:2px}
